After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 383014 - generate a clock and correct timestamps when incoming buffers are untimestamped
generate a clock and correct timestamps when incoming buffers are untimestamped
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-libav
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-12-06 14:34 UTC by Rob Taylor
Modified: 2010-02-09 10:14 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gstffmpegdec-add-clock-and-fix-timestamps-for-untimstamped-streams.diff (9.14 KB, patch)
2006-12-06 14:37 UTC, Rob Taylor
needs-work Details | Review

Description Rob Taylor 2006-12-06 14:34:38 UTC
This is quite a large patch. I can split it down if people want..
1) Adds a property to allow gstffmpegdec to generate a clock when it has untimestamped incoming buffers (i.e. there was no clocked transport)
2) for untimestamped buffers, generates a clock from the framecount and frame duration as ffmpegdec->picture->pts isn't reliable
3) Removes duplicate initial keyframe checking from gst_ffmpegdec_chain
Comment 1 Rob Taylor 2006-12-06 14:37:05 UTC
Created attachment 77817 [details] [review]
gstffmpegdec-add-clock-and-fix-timestamps-for-untimstamped-streams.diff
Comment 2 Wim Taymans 2006-12-16 17:00:53 UTC
a clock in a decoder? can you give a use case? Also there is no clock in PAUSED so the element should return ASYNC an participate in PREROLL.
Comment 3 Rob Taylor 2007-02-02 14:06:36 UTC
I admit the usecase is obscure - its for streamed raw mpeg4 (ie, as I said in the inital comment, no clocked transport). There is code in gstffdec to support this use case already, this just makes it work ;)

I'll fix up the patch as requested.
Comment 4 Sebastian Dröge (slomo) 2008-05-06 12:59:54 UTC
Any news on this?
Comment 5 Rob Taylor 2008-05-09 09:47:21 UTC
I'm afraid I haven't had time to look at this again. The change mentioned by Wim should be pretty straight forward though.
Comment 6 Tobias Mueller 2009-01-23 23:40:40 UTC
As I can see no open question left (besides "any news on this?), I'll reopen this one.

I'd say to either accept this issue as a bug and set to NEW or to decide to not consider this issue as a bug and close as WONTFIX.
Comment 7 Edward Hervey 2009-03-08 09:59:25 UTC
Rob, could you give us the bigger picture here ? What upstream elements are you using ? What are you receiving the stream from ?

There are many use-cases where you would actually do the timestamping upstream.
Comment 8 Sebastian Dröge (slomo) 2009-09-10 08:56:27 UTC
Closing because no additional information was provided.
Comment 9 Rob Taylor 2009-09-10 11:36:07 UTC
Hum, looks like I missed that last question, though tbh I don't have that info  to hand any more. As I recall the situation was raw mpegts packets in raw multicast UDP packets. Hence the need for the clock to come from the mpegts stream. The stream was from a commercial networked mpeg encoder.

Reopening as additional information was provided ;)
Comment 10 Sebastian Dröge (slomo) 2009-09-10 14:46:17 UTC
(In reply to comment #9)
> Hum, looks like I missed that last question, though tbh I don't have that info 
> to hand any more. As I recall the situation was raw mpegts packets in raw
> multicast UDP packets. Hence the need for the clock to come from the mpegts
> stream. The stream was from a commercial networked mpeg encoder.
> 
> Reopening as additional information was provided ;)

And closing again because mpegtsdemux can provide a clock nowadays ;) Or would you need this for other formats too? Should every decoder/demuxer provide it's own clock based on the internal timestamps?

I'd say your situation was wrong, you should better use rtp or something like that for the UDP packets :)
Comment 11 Rob Taylor 2009-09-10 14:56:12 UTC
I think if mpegtsdemux can provide the clock, thats the best solution. If you have an mpegts stream you really shouldn't need to get a timestamp from the surrounding transport.