[FFmpeg-devel] [PATCH] rtsp - alternate protocol

Michael Niedermayer michaelni
Sat Dec 29 11:06:22 CET 2007


On Sat, Dec 29, 2007 at 09:55:08AM +0100, Luca Abeni wrote:
> Hi Michael,
> 
> Michael Niedermayer wrote:
> [...]
> >>> So, can anyone explain what's the supposed behaviour of url_split()? 
> >>> Which testcase was fixed by r10775?
> >> iam not sure but if i guess i think it prevents ?tcp from ending in the
> >> hostname
> > 
> > heres a attempt to fix it (completely untested, theres a good chance it
> > contains trivial mistakes but ill comit it if noone points at a problem
> > soon *g*)
> [...]
> 
> I tried your patch, and it obviously fixes option parsing in rtsp.c 
> (with your patch applied, the "?..." is back in "path"). I do not know 
> if it re-introduce the regression cured by r10775, because I did not 
> understand the testcase...
> 
> However, after applying your patch rtsp.c still has problems if options 
> are passed in the URL: such options are now correctly recognised, but 
> they are not removed from the URL, so the RTSP server sees requests for 
> URLS like "rtsp://localhost:5454/test1-rtsp.mpg?tcp" instead of 
> "rtsp://localhost:5454/test1-rtsp.mpg".
> 
> This happens because the code in rtsp_read_header() removes the options 
> >from the "path" variable (while parsing them), but does not remove the 
> options from "s->filename"; RTSP requests are forged based on 
> s->filename, not on path... I did not notice this problem before, 
> because I focused on the first one (fixed by your patch), and my fix for 
> the first problem incidentally fixed the second one.
> I see three different solutions to the second problem (options not 
> removed from the URL in RTSP commands):
> 1) changing "option_list = strchr(path, '?');" in "option_list = 
> strchr(s->filename, '?');", as my original patch did.
> 2) using path instead of "s->filename" in the RTSP packets (I still have 
> to check how invasive this patch would be)
> 3) modify s->filename removing the options from it too...

theres a bigger problem
rtsp://localhost:5454/test1-rtsp.mpg?tcp
and
rtsp://localhost:5454/test1-rtsp.mpg

might be 2 distinct urls, "?tcp" cannot just be dropped from the url
passing application options by ?XYZ is not ok as such. What is needed first
is to change the thing so it doesnt colide with valid urls.

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

There will always be a question for which you do not know the correct awnser.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20071229/713ee731/attachment.pgp>



More information about the ffmpeg-devel mailing list