GNOME Bugzilla – Bug 620494
[rtsp] stuttery audio with some h264/aac streams
Last modified: 2010-06-03 17:30:39 UTC
When playing back an rtsp stream with playbin2, the audio is stuttery. I have provided the output from: rtspsrc .... ! application/x-rtp, media=audio ! gdppay ! filesink location=~/stuttry_rtsp.gdp The file is here: http://dl.dropbox.com/u/219349/stuttry_rtsp.gdp gst-launch filesrc location=stuttry_rtsp.gdp ! gdpdepay ! decodebin2 ! identity check-imperfect-timestamp=true ! fakesink -m provides lots of imperfect timestamp messages for example: Got message #1106 from element "identity0" (element): imperfect-timestamp, prev-timestamp=(guint64)90480001625, prev-duration=(guint64)21333333, prev-offset=(guint64)4343040, prev-offset-end=(guint64)18446744073709551615, cur-timestamp=(guint64)90501434766, cur-duration=(guint64)21333333, cur-offset=(guint64)4344068, cur-offset-end=(guint64)18446744073709551615; Got message #1107 from element "identity0" (element): imperfect-timestamp, prev-timestamp=(guint64)90501434766, prev-duration=(guint64)21333333, prev-offset=(guint64)4344068, prev-offset-end=(guint64)18446744073709551615, cur-timestamp=(guint64)90544200441, cur-duration=(guint64)21333333, cur-offset=(guint64)4346121, cur-offset-end=(guint64)18446744073709551615; Got message #1108 from element "identity0" (element): imperfect-timestamp, prev-timestamp=(guint64)90586867107, prev-duration=(guint64)21333333, prev-offset=(guint64)4348169, prev-offset-end=(guint64)18446744073709551615, cur-timestamp=(guint64)90629631990, cur-duration=(guint64)21333333, cur-offset=(guint64)4350222, cur-offset-end=(guint64)18446744073709551615;
commit 2c92f213c5e5d3bcfd7ecc5f541b333fa0ec4947 Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Thu Jun 3 19:23:01 2010 +0200 mp4gdepay: calculate the frame duration correctly When we calculate the frame duration, we need to use the amount of frames in the _previous_ packet, not the current packet. The frame duration is needed to correctly de-interleave interleaved streams. This fixes the case where there are a variable number of frames in a packet. Fixes #620494