From f494635126b6a1ae5c240b70e0f7c58a2ba1c35e Mon Sep 17 00:00:00 2001 From: Matej Knopp Date: Thu, 21 Mar 2013 02:52:07 +0100 Subject: [PATCH] qtdemux: recognize SBTL subtype for subtitles https://bugzilla.gnome.org/show_bug.cgi?id=696244 --- gst/isomp4/qtdemux.c | 9 ++++++--- gst/isomp4/qtdemux_fourcc.h | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c index 6d5dc0ad9e..ad5c04901d 100644 --- a/gst/isomp4/qtdemux.c +++ b/gst/isomp4/qtdemux.c @@ -3590,7 +3590,8 @@ gst_qtdemux_process_buffer (GstQTDemux * qtdemux, QtDemuxStream * stream, stream->need_process = FALSE; } - if (G_UNLIKELY (stream->subtype != FOURCC_text)) { + if (G_UNLIKELY (stream->subtype != FOURCC_text + && stream->subtype != FOURCC_sbtl)) { return buf; } @@ -5236,7 +5237,8 @@ gst_qtdemux_add_stream (GstQTDemux * qtdemux, qtdemux->n_audio_streams++; } else if (stream->subtype == FOURCC_strm) { GST_DEBUG_OBJECT (qtdemux, "stream type, not creating pad"); - } else if (stream->subtype == FOURCC_subp || stream->subtype == FOURCC_text) { + } else if (stream->subtype == FOURCC_subp || stream->subtype == FOURCC_text + || stream->subtype == FOURCC_sbtl) { gchar *name = g_strdup_printf ("subtitle_%u", qtdemux->n_sub_streams); stream->pad = @@ -7493,7 +7495,8 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak) goto unknown_stream; } stream->sampled = TRUE; - } else if (stream->subtype == FOURCC_subp || stream->subtype == FOURCC_text) { + } else if (stream->subtype == FOURCC_subp || stream->subtype == FOURCC_text + || stream->subtype == FOURCC_sbtl) { stream->sampled = TRUE; diff --git a/gst/isomp4/qtdemux_fourcc.h b/gst/isomp4/qtdemux_fourcc.h index 72c06608c5..077b54b183 100644 --- a/gst/isomp4/qtdemux_fourcc.h +++ b/gst/isomp4/qtdemux_fourcc.h @@ -65,6 +65,7 @@ G_BEGIN_DECLS #define FOURCC_vide GST_MAKE_FOURCC('v','i','d','e') #define FOURCC_soun GST_MAKE_FOURCC('s','o','u','n') #define FOURCC_subp GST_MAKE_FOURCC('s','u','b','p') +#define FOURCC_sbtl GST_MAKE_FOURCC('s','b','t','l') #define FOURCC_strm GST_MAKE_FOURCC('s','t','r','m') #define FOURCC_rtsp GST_MAKE_FOURCC('r','t','s','p') #define FOURCC_co64 GST_MAKE_FOURCC('c','o','6','4')