mssdemux: set caps to buffers before pushing
authorThiago Santos <thiago.sousa.santos@collabora.com>
Sun, 25 Nov 2012 04:57:36 +0000 (01:57 -0300)
committerThiago Santos <thiago.sousa.santos@collabora.com>
Wed, 8 May 2013 00:05:10 +0000 (21:05 -0300)
Also update to the latest gstfragment API that provides
the fragment as a whole buffer.

ext/smoothstreaming/gstmssdemux.c

index d17420c..4844c05 100644 (file)
@@ -412,7 +412,7 @@ gst_mss_demux_stream_loop (GstMssDemuxStream * stream)
   gchar *path;
   gchar *url;
   GstFragment *fragment;
-  GstBufferList *buflist;
+  GstBuffer *buffer;
   GstFlowReturn ret;
 
   GST_DEBUG_OBJECT (mssdemux, "Getting url for stream %p", stream);
@@ -438,9 +438,11 @@ gst_mss_demux_stream_loop (GstMssDemuxStream * stream)
   g_free (path);
   g_free (url);
 
-  buflist = gst_fragment_get_buffer_list (fragment);
+  buffer = gst_fragment_get_buffer (fragment);
+  buffer = gst_buffer_make_metadata_writable (buffer);
+  gst_buffer_set_caps (buffer, GST_PAD_CAPS (stream->pad));
 
-  ret = gst_pad_push_list (stream->pad, buflist);       /* TODO check return */
+  ret = gst_pad_push (stream->pad, buffer);     /* TODO check return */
   switch (ret) {
     case GST_FLOW_UNEXPECTED:
       goto eos;                 /* EOS ? */