diff options
Diffstat (limited to 'lib/DllLibbluray.h')
-rw-r--r-- | lib/DllLibbluray.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/DllLibbluray.h b/lib/DllLibbluray.h index b7d9ff2272..63e0879000 100644 --- a/lib/DllLibbluray.h +++ b/lib/DllLibbluray.h @@ -31,6 +31,8 @@ extern "C" #include <libbluray/overlay.h> } +typedef int(*read_blocks_f)(void *handle, void *buf, int lba, int num_blocks); + class DllLibblurayInterface { public: @@ -41,6 +43,7 @@ public: virtual void bd_free_title_info(BLURAY_TITLE_INFO *title_info)=0; virtual BLURAY *bd_open(const char* device_path, const char* keyfile_path)=0; virtual int bd_open_disc(BLURAY *bd, const char *device_path, const char *keyfile_path)=0; + virtual int bd_open_stream(BLURAY *bd, void *read_blocks_handle, read_blocks_f func) = 0; virtual BLURAY *bd_init(void)= 0; virtual void bd_close(BLURAY *bd)=0; virtual int64_t bd_seek(BLURAY *bd, uint64_t pos)=0; @@ -92,6 +95,7 @@ class DllLibbluray : public DllDynamic, DllLibblurayInterface DEFINE_METHOD1(void, bd_free_title_info, (BLURAY_TITLE_INFO *p1)) DEFINE_METHOD2(BLURAY*, bd_open, (const char* p1, const char* p2)) DEFINE_METHOD3(int, bd_open_disc, (BLURAY *p1, const char *p2, const char *p3)) + DEFINE_METHOD3(int, bd_open_stream, (BLURAY *p1, void *p2, read_blocks_f p3)) DEFINE_METHOD0(BLURAY*, bd_init) DEFINE_METHOD1(void, bd_close, (BLURAY *p1)) DEFINE_METHOD2(int64_t, bd_seek, (BLURAY *p1, uint64_t p2)) @@ -140,6 +144,7 @@ class DllLibbluray : public DllDynamic, DllLibblurayInterface RESOLVE_METHOD_RENAME(bd_free_title_info, bd_free_title_info) RESOLVE_METHOD_RENAME(bd_open, bd_open) RESOLVE_METHOD(bd_open_disc) + RESOLVE_METHOD(bd_open_stream) RESOLVE_METHOD(bd_init) RESOLVE_METHOD_RENAME(bd_close, bd_close) RESOLVE_METHOD_RENAME(bd_seek, bd_seek) |