[Bug 738285] playbin: Sequential playback of the file list does not work

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Oct 24 00:44:55 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=738285
  GStreamer | gst-plugins-base | git

Sebastian Dröge (slomo) <slomo> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #289248|none                        |needs-work
             status|                            |

--- Comment #53 from Sebastian Dröge (slomo) <slomo at coaxion.net> 2014-10-24 07:44:53 UTC ---
Review of attachment 289248:
 --> (https://bugzilla.gnome.org/review?bug=738285&attachment=289248)

::: gst/playback/gstdecodebin2.c
@@ +3678,3 @@
+    CHAIN_MUTEX_LOCK (chain);
+    chain->drained = TRUE;
+    chain->endpad->drained = TRUE;

Shouldn't it these all be set to TRUE already at this point?

@@ +3682,3 @@
+    peer = gst_pad_get_peer (GST_PAD_CAST (chain->endpad));
+    if (peer) {
+      gst_pad_send_event (peer, gst_event_new_eos ());

gst_pad_push_event (chain->endpad, gst_event_new_eos()) ?

@@ +3722,2 @@
     chain->drained = chain->endpad->drained;
+    *drained = chain->endpad->notlinked;

This does not seem right. A not-linked pad is not automatically drained, it
might be selected again later by input-selector. Only if all linked pads are at
EOS and only the not-linked ones are not you can consider the not-linked pads
as drained.

@@ +3801,3 @@
   }
+  // return last_group;
+  return FALSE;

Don't use C99 comments, but also just delete that line :)

@@ +4645,3 @@
+  if (drained) {
+    gst_buffer_unref (buffer);
+    ret = GST_FLOW_EOS;

This part is not needed, it will return EOS automatically from
gst_proxy_pad_chain_default() already.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list