[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