[gstreamer-bugs] [Bug 600929] [kate] tiger element doesn't handle segments and text/video synchronization properly
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Sun Dec 12 06:20:36 PST 2010
https://bugzilla.gnome.org/show_bug.cgi?id=600929
GStreamer | gst-plugins-bad | git
Sebastian Dröge <slomo> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #156681|none |needs-work
status| |
--- Comment #26 from Sebastian Dröge <slomo at circular-chaos.org> 2010-12-12 14:20:33 UTC ---
Review of attachment 156681:
--> (https://bugzilla.gnome.org/review?bug=600929&attachment=156681)
Also feel free to squash commits together if they belong together ;)
::: ext/kate/gstkatetiger.c
@@ +562,3 @@
if (gst_kate_util_decoder_base_update_segment (&tiger->decoder,
GST_ELEMENT_CAST (tiger), buf)) {
+ GstPad *tagpad = gst_pad_get_peer (pad);
You should probably unref this pad somewhere again
@@ +868,3 @@
+ // Delay events till we've set caps - only tag events though, as doing so
for the rest seems to freeze
+ // the pipeline for reasons I don't know, and the reason why katedec does
it is not valid here (as katedec
+ // sets the src pad caps at runtime, but tiger does not)
Yes, as said in the review of the other patch... delay everything except
flush-start, flush-stop and eos :) newsegment delaying until the caps are know
is very important
::: ext/kate/gstkateutil.c
@@ +129,3 @@
decoder->original_canvas_height = 0;
+ if (decoder->event_queue) {
+ g_queue_free (decoder->event_queue);
Same as in the other patch, make sure to unref all events and free all data
still in the queue before destroying the queue
@@ +142,3 @@
+ GstKateDecoderBaseQueuedEvent *item;
+ GST_WARNING_OBJECT (decoder, "We have to delay the event");
+ item = g_malloc (sizeof (GstKateDecoderBaseQueuedEvent));
Use g_slice_new() here and g_slice_free() later for freeing it again
--
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