Play position advancing but frames not rendered
Tvrtko Ursulin
tvrtko.ursulin at onelan.co.uk
Wed Jul 27 07:35:34 PDT 2011
Hi all,
When playing an MPEG TS stream multicast over UDP I occasionally see GStreamer
stop rendering frames while the play position is normally progressing.
On the last occasion this happened it actually managed to untangle itself
after a while and started playing (rendering) again. Unfortunately I do not
know whether it would always be case since previously I did not wait this
long.
To start getting more specific...
I do not know when exactly it stopped rendering, but I know when I first saw it
in that state which was at 14:14 today. It was streaming for roughly two hours
up to that point.
Last interesting logged thing before that state was a QOS event at 14:06. Then
at 14:21 it started to render again and reported another QOS event.
In between the application was querying play position every ten seconds which
showed progress.
If you look at this annotated log:
... <video state unknown>
14:06:15.006 PLAY POSITION 6615867197374L
14:06:18.408 QOS @ 6619179855556L Frames: 291654/704; Jitter: 88265288
14:14 <spotted video not playing (not rendering)>
14:20:59.484 PLAY POSITION 7500344289211L
14:21:08.142 QOS @ 6915779855556L Frames: 306475/705; Jitter: 593222818788L
<video started playing again>
Play position is what query_position() on playbin2 element returns
(documentation says this is stream time). And times logged in QOS events come
from stream-time message field, so it should be matched up in that respect.
This second event is reporting that a frame was almost ten minutes late, but
that there was only one dropped frame in the period on roughly a correct
number of rendered frames (for 25 fps video) during the period. Which is of
course wrong because nothing was rendered.
Software used is:
gstreamer-tools-0.10.34-1.fc15.i686
gstreamer-plugins-good-0.10.29-1.fc15.i686
gstreamer-0.10.34-1.fc15.i686
gstreamer-plugins-base-0.10.33-92.fc15.i686
gstreamer-plugins-bad-free-0.10.22-1.fc15.i686
gstreamer-python-0.10.19-2.fc15.i686
gstreamer-plugins-ugly-0.10.18-1.fc15.i686
Application is written in python and uses playbin2 with a custom bin set as
video-sink which is queue ! deinterlace ! queue ! xvimagesink. Audio-sink is
set to a bin containing alsasink only.
If someone has any ideas on what is going wrong here I would appreciate it.
Thanks in advance,
Tvrtko Ursulin
More information about the gstreamer-devel
mailing list