Kaydet (Commit) 926fcc56 authored tarafından Minh Ngo's avatar Minh Ngo

Avmedia/VLC: Using *_new_location instead of *_new_path function.

There are some bug in *_new_location in the latest VLC versions. It
doesn't parse URI correctly from the string "file:///blah-blah-blah".

Change-Id: Iae54ad79fce0775a2f0a325766f713ff43e5d9ed
üst 3196e5b7
...@@ -25,18 +25,21 @@ namespace wrapper ...@@ -25,18 +25,21 @@ namespace wrapper
namespace namespace
{ {
libvlc_media_t* ( *libvlc_media_new_path ) ( libvlc_instance_t *p_instance, const char *path ); libvlc_media_t* ( *libvlc_media_new_path ) ( libvlc_instance_t *p_instance, const char *path );
libvlc_media_t* ( *libvlc_media_new_location ) (libvlc_instance_t *p_instance, const char *psz_mrl);
void ( *libvlc_media_release ) ( libvlc_media_t *p_md ); void ( *libvlc_media_release ) ( libvlc_media_t *p_md );
void ( *libvlc_media_retain ) ( libvlc_media_t *p_md ); void ( *libvlc_media_retain ) ( libvlc_media_t *p_md );
libvlc_time_t ( *libvlc_media_get_duration ) ( libvlc_media_t *p_md ); libvlc_time_t ( *libvlc_media_get_duration ) ( libvlc_media_t *p_md );
void ( *libvlc_media_parse ) ( libvlc_media_t *p_md ); void ( *libvlc_media_parse ) ( libvlc_media_t *p_md );
int ( *libvlc_media_is_parsed ) ( libvlc_media_t *p_md ); int ( *libvlc_media_is_parsed ) ( libvlc_media_t *p_md );
char* ( *libvlc_media_get_mrl )(libvlc_media_t *p_md);
libvlc_media_t* InitMedia( const rtl::OUString& url, Instance& instance ) libvlc_media_t* InitMedia( const rtl::OUString& url, Instance& instance )
{ {
rtl::OString dest; rtl::OString dest;
url.convertToString(&dest, RTL_TEXTENCODING_UTF8, 0); url.convertToString(&dest, RTL_TEXTENCODING_UTF8, 0);
return libvlc_media_new_path(instance, dest.getStr()); return libvlc_media_new_location(instance, dest.getStr());
} }
} }
...@@ -49,7 +52,9 @@ bool Media::LoadSymbols() ...@@ -49,7 +52,9 @@ bool Media::LoadSymbols()
SYM_MAP( libvlc_media_retain ), SYM_MAP( libvlc_media_retain ),
SYM_MAP( libvlc_media_get_duration ), SYM_MAP( libvlc_media_get_duration ),
SYM_MAP( libvlc_media_parse ), SYM_MAP( libvlc_media_parse ),
SYM_MAP( libvlc_media_is_parsed ) SYM_MAP( libvlc_media_is_parsed ),
SYM_MAP( libvlc_media_get_mrl ),
SYM_MAP( libvlc_media_new_location )
}; };
return InitApiMap( VLC_MEDIA_API ); return InitApiMap( VLC_MEDIA_API );
...@@ -58,6 +63,10 @@ bool Media::LoadSymbols() ...@@ -58,6 +63,10 @@ bool Media::LoadSymbols()
Media::Media( const rtl::OUString& url, Instance& instance ) Media::Media( const rtl::OUString& url, Instance& instance )
: mMedia( InitMedia( url, instance ) ) : mMedia( InitMedia( url, instance ) )
{ {
if (mMedia == NULL)
{
// TODO: Error
}
} }
Media::Media( const Media& other ) Media::Media( const Media& other )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment