[Bug 701015] Using a g_thread for gnonlin pipeline update / forward eos on the streaming thread.

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue May 28 13:49:28 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=701015
  GStreamer | gnonlin | git

--- Comment #9 from Nicolas Dufresne <nicolas.dufresne at collabora.co.uk> 2013-05-28 20:49:23 UTC ---
gnlcomposition: Forward EOS from the streaming thread when appropriate.
>     if (!(priv->segment->flags & GST_SEEK_FLAG_SEGMENT)
>         && priv->ghostpad) {
>-      GST_LOG_OBJECT (comp, "Pushing out EOS");
>+      GST_ERROR_OBJECT (comp,
>+          "Pushing out EOS in eos_main_thread, should not happen");
>       gst_pad_push_event (priv->ghostpad, gst_event_new_eos ());
>     } else if (priv->segment->flags & GST_SEEK_FLAG_SEGMENT) {
>       gint64 epos;

This should send GST_ELEMENT_ERROR() and make the pipeline fail. (if that code
still exist after the rest, not sure).

>+        for (tmp = comp->priv->objects_stop; tmp; tmp = g_list_next (tmp)) {
>+          GnlObject *object = (GnlObject *) tmp->data;
>...
>+          if ((!reverse && comp->priv->segment_stop < object->stop) ||
>+              (reverse && comp->priv->segment_start > object->start)) {

You should not have to iterate here, object_starts and object_stops are sorted,
so choosing the first of object_starts for reverse, and last of object_stops
for normal playback should be sufficiant.

gnlcomposition: add eos_thread_function to replace eos_main_thread.
    + This is a WIP commit.
Sqash with "composition: Cleanup and fix commit introducing our own thread",
write a proper commit message, choose a main author, add a Signed-off-by: for
the second author if you think it's appropriate (honestly second patch removed
mostly all the first one).

gnlcomposition: remove unused pending_idle private member
>@@ -92,11 +92,9 @@ struct _GnlCompositionPrivate
>      thread-safe Seek handling.
>      flushing_lock : mutex to access flushing and pending_idle
>      flushing : 
>-     pending_idle :
>    */

Trailing white space. Maybe squask this commit too.

composition: Rename "eos thread" to "update pipeline thread"

I would squash this too.

-- 
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