[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xine-devel
Subject:    Re: [xine-devel] MRL references/parsing problems
From:       Bastien Nocera <hadess () hadess ! net>
Date:       2005-03-13 23:38:26
Message-ID: 1110757106.6249.32.camel () wyatt ! hadess ! net
[Download RAW message or body]

Hey Mike,

On Sun, 2005-03-13 at 15:42 -0700, Mike Melanson wrote:
> Bastien Nocera wrote:
> > Heya,
> > 
> > I'm having a slight problem, probably with the qt demuxer.
> > 
> > Trying to playback this file using stdin:/// as the input:
> > curl http://movies.apple.com/movies/newline/theupsidetoanger/theupsidetoanger_240.mov \
> > | xine stdin:/// will not play, as the MRL reference is obviously relative (and \
> > xine has no way to know about it). But in this case it actually fails to send the
> > MRL reference altogether. Deadlock will occur in xine_stop when trying
> > to exit xine-ui.
> > 
> > This command works fine:
> > xine http://movies.apple.com/movies/newline/theupsidetoanger/theupsidetoanger_240.mov
> >  
> > Mike, any ideas on what's wrong here?

Thanks for the quick answer.

> 	Yes, and you spelled it out perfectly. Because the reference came into 
> the demuxer via stdin, the demuxer has no way of knowing what the 
> reference's base URL was. Using 'xine http://...':
> 
> gui_xine_open_and_play():
> mrl: 
> 'http://movies.apple.com/movies/newline/theupsidetoanger/theupsidetoanger_m240.mov',
>  sub 'NONE',
> start_pos 0, start_time 0, av_offset 0, spu_offset 0.
> xine: found input plugin  : http input plugin
> 
> However, using 'curl http://... | xine stdin:///':
> 
> gui_xine_open_and_play():
> mrl: 'theupsidetoanger_m240.mov',
> sub 'NONE',
> start_pos 0, start_time 0, av_offset 0, spu_offset 0.
> xine: found input plugin  : file input plugin
> input_file: File not found: >theupsidetoanger_m240.mov<
> xine: input plugin cannot open MRL [theupsidetoanger_m240.mov]
> xine: cannot find input plugin for MRL [theupsidetoanger_m240.mov]
> [deadlock]

I was actually thinking it wasn't sending the MRL reference at all, but
my debug code had a bug ;)

> I think the QT demuxer is doing the right thing, given the information 
> it has. Does xine-engine's reference logic code need to be strengthened 
> so it knows what to do it the referred-to object can not be found? I 
> know nothing of the core engine code.
> 
> 	Do you know if a similar construct would work with, say, an ASF 
> reference? I guess it all depends if the ASF references are relative or 
> absolute.

I actually think that the problem is due to opening the file inside the
event handler, then the open() inside the input plugin is trying to push
some more stuff on there.
I installed a async handler for that in Totem, and it's now working
properly (as long as you make the URL absolute again).

> 	I think we finally outsmarted ourselves with xine's super-flexibility. :)

Hehe, it happens :)

---
Bastien Nocera <hadess@hadess.net> 




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
xine-devel mailing list
xine-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xine-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic