[gstreamer-bugs] [Bug 635226] [PATCH] gdppay fails to sync if added to pipeline during playback

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sun Dec 12 08:19:17 PST 2010


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

Alexey Chernov <4ernov> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |UNCONFIRMED
         Resolution|NOTABUG                     |

--- Comment #5 from Alexey Chernov <4ernov at gmail.com> 2010-12-12 16:19:15 UTC ---
Well, the first thing I should say is it's bug anyway because that's the exact
situation which I try to solve using documented functions and it doesn't work.

As to dropping events and buffers - I tried not only to drop but also to block
the queue. This way no buffers and events are dropped. But nothing was changed.
In my description I pointed that in order to make gdpdepay with my patch
working correctly you need to switch on the do-timestamp property on filesrc.
In this case adapter timestamps stop to be -1 and are the timestamps when the
undepayed buffer was created.

Next, let's look at gst_dp_buffer_from_header(). It's part concerning buffer
timestamp is this:

GST_BUFFER_TIMESTAMP (buffer) = GST_DP_HEADER_TIMESTAMP (header);

And GST_DP_HEADER_TIMESTAMP marco is

#define GST_DP_HEADER_TIMESTAMP(x)      GST_READ_UINT64_BE (x + 10)

And what is written in (x + 10) address during paying? Let's see
dataprotocol.c:147 and it's:

GST_WRITE_UINT64_BE (h + 10, GST_BUFFER_TIMESTAMP (buffer));

It is the remote pipeline's timestamp. So no timestamp management is done on
gdpdepay's side and we have depayed buffers with some wild timestamps.

I can't find any way to keep track new-segment of the pipeline and then push it
to element, I tried to do it using seeking whole pipeline but I think it should
be done somewhere not in user's code but somewhere inside elements which are
connected during playback.

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