From dc5f21667ff8329464c76a9bdbf016d309a712f6 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Sat, 22 May 2010 01:59:07 +0100 Subject: Recognise and handle the WebM container format. Currently, just treat it exactly as if it were Matroska. --- ChangeLog | 2 ++ src/demuxers/demux_matroska.c | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index cdba8dcd7..70e7bdccb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,8 @@ xine-lib (1.1.19) 2010-??-?? * Add support for Xv gamma adjustment. * Better recovery from ALSA-reported errors. * Report stream buffer stats to the application. + * Recognise and handle the WebM container format. + (VP8 video is not yet supported.) xine-lib (1.1.18.1) 2010-03-06 * Oops. compat.c (for DXR3 support) was omitted. diff --git a/src/demuxers/demux_matroska.c b/src/demuxers/demux_matroska.c index ea1c84eea..edce2039d 100644 --- a/src/demuxers/demux_matroska.c +++ b/src/demuxers/demux_matroska.c @@ -2992,7 +2992,8 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str goto error; if (ebml->max_size_len > 8) goto error; - if (strcmp(ebml->doctype, "matroska")) + /* handle both Matroska and WebM here; we don't (presently) differentiate */ + if (strcmp(ebml->doctype, "matroska") && strcmp(ebml->doctype, "webm")) goto error; this->event_queue = xine_event_new_queue(this->stream); @@ -3016,7 +3017,7 @@ error: */ static const char *get_description (demux_class_t *this_gen) { - return "matroska demux plugin"; + return "matroska & webm demux plugin"; } @@ -3026,13 +3027,14 @@ static const char *get_identifier (demux_class_t *this_gen) { static const char *get_extensions (demux_class_t *this_gen) { - return "mkv"; + return "mkv wbm webm"; } static const char *get_mimetypes (demux_class_t *this_gen) { return "video/mkv: mkv: matroska;" - "video/x-matroska: mkv: matroska;"; + "video/x-matroska: mkv: matroska;" + "video/webm: wbm,webm: WebM;"; } -- cgit v1.2.3