GNOME Bugzilla – Bug 579058
[asfdemux] proper handling of RTSP input
Last modified: 2009-05-07 10:32:25 UTC
Tentative patch attached. Not tested much (and not at all vs. mms:// streams to make sure it doesn't screw things up there).
Created attachment 132704 [details] [review] tentative patch
Patch doesn't pass on/adjust segments correctly yet (asfdemux could generally use some love on the segment front..)
There should be no need to explicitly check if upstream is live or not, the timestamp offset can also apply for non-live sources.
Tim, what special handling is required ? And isn't that improved (fixed?) with the latest commit I did to asfdemux: commit 804f65e6db54e9ef311ea553c5a1ce6250e63eeb Author: Edward Hervey <bilboed@bilboed.com> Date: Thu Apr 23 09:04:41 2009 +0200 asfpacket: Fix pull-mode timestamping handling.
I would say special handling involves some catering for latency (due to internal preroll prior to activation of pads) and minding a bit more about upstream segments. IMHO, most of this has been addressed by some recent commits, among which commit 0b28139203e17be6f1bf0e504cde0cbfac55e860 Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> Date: Sat May 2 13:45:22 2009 +0200 asfdemux: report initial latency due to internal preroll queue commit b6d4fb9e4f4e562a7de1691b37cded2859b86235 Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> Date: Sat May 2 16:08:03 2009 +0200 asfdemux: fixes for streaming mode * Improve newsegment handling, e.g. upstream might live in TIME. * Only send newsegment if we have needed info. * Avoid reading past end of data section.
Created attachment 134065 [details] [review] Updated/adjusted patch This patch performs the "timestamp interpolation" part (using upstream frame of time reference) of original patch, but slightly adjusted (pending earlier comments) and updated to recent git.
Seems to fix several use cases for me. Can't see anything that would cause any regressions either. I'd say it can go in.
commit e8a6ad25462c673e7f2dd43d6b03e725bc647fc3 Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> Date: Sat May 2 18:11:06 2009 +0200 asfdemux: use upstream segment and timestamps for some interpolation This should particularly help in case of upstream live src, e.g. rtspsrc, and especially so if it has to perform fallback to TCP.