Re: [Mplayerplug-in-devel] Option for diskless terminal
Brought to you by:
kdekorte
From: Kevin D. <kde...@ya...> - 2004-03-31 22:08:15
|
Carlos, Ok, lets make sure you and I understand the semantics URL addressing... if you have the following URL http://somesite.com/path/to/file.html and in the html you do this <embed src="file.mpeg"> The URL that will be opened is http://somesite.com/path/to/file.mpeg because you have given a relative URL if you do <embed src="another/dir/file.mpeg"> the URL that will be opened is http://somesite.com/path/to/another/dir/file.mpeg because the URL given is again relative if you do <embed src="/another/dir/file.mpeg"> the URL that will be opened is http://somesite.com/another/dir/file.mpeg because this is an aboslute URL I would guess you have something like this in your embed statement <embed src="some.url" href="shortened.url" > and I would guess that is what is causing your issue because I can't see how you would get two entries in the playlist any other way. Kevin On Wednesday 31 March 2004 02:35 pm, Carlos Knowlton wrote: > Kevin, > > The <embed> block is probably not very useful, since I can't get it to > display the actual video location, but we checked our code on this end, > and found something interesting. In our envinronment (with nomediacache > enabled), we began by putting the video file in Document-Root, as: > "/video.mpg" and we had the same trouble as before (ie, the plugin > "buffer" attribute reports a garbled the name, and can't add it to the > playlist.). Then we removed the beginning forward-slash (/), and it > played. (and "buffer" reported the right file location > "http://192.168.1.229/video.mpg"). So we figured that by removing the > beginning foreward-slash from the file path in our scripts, it should > work. It didn't, but here is what we got: > ------------------------start---------------------------------- > Embedded mode > Argument Name: onmediacomplete > Argument Value: event_method() > mediaCompleteCallback=javascript:event_method() > Argument Name: filename > Argument Value: Courses/ALG/ALG000/ALG000A.mpg > Argument Name: autostart > Argument Value: 1 > argv[i]=1 > autostart=1 > Argument Name: height > Argument Value: 400 > Argument Name: width > Argument Value: 500 > Argument Name: id > Argument Value: VideoLoc > Argument Name: name > Argument Value: VideoLoc > Argument Name: type > Argument Value: application/x-mplayer2 > New window! old: 0x0 new 0x2800001 > Size: 0 0 2800001 > Size: 500x400 > back in SetWindow > New Size: 500x400 > > [===========ITEM-OF-INTEREST=============] > exiting URL base with http://192.168.1.229/Courses/ALG/ALG000/ > entering getURLHostname > url Courses/ALG/ALG000/ALG000A.mpg > buffer > http://192.168.1.229/Courses/ALG/ALG000/Courses/ALG/ALG000/ALG000A.mpg > [Note how the "url" is appended to "URL base" on "buffer". Is this > expected?] > [========================================] > > (Gecko:2684): Gtk-CRITICAL **: file gtkwidget.c: line 5634 > (gtk_widget_set_events): assertion `!GTK_WIDGET_REALIZED (widget)' failed > ready to setup threads > creating thread - NP_EMBED > creating player thread > In launchPlayerThread, state = 110 > ----player thread: in playPlayList > ----player thread: about to go to sleep, js_state = 6, state = 110 > MAIN THREAD DONE > didn't find the node in the playlist > http://192.168.1.229/Courses/ALG/ALG000/ALG000A.mpg > JS getTime issued > shut called > mplayer dead > Entering deleteList > DELETE > http://192.168.1.229/Courses/ALG/ALG000/Courses/ALG/ALG000/ALG000A.mpg > File delete > size: 0 > remove: 1 > play: 1 > playlist: 0 > speed: -1 > cancelled: 0 > retrieved: 0 > mms stream: 0 > cache bytes: 0 > Actual Size: 0x0 > Play Size: 0x0 > DELETE http://192.168.1.229/Courses/ALG/ALG000/ALG000A.mpg > File delete > size: 0 > remove: 1 > play: 1 > playlist: 0 > speed: -1 > cancelled: 0 > retrieved: 0 > mms stream: 0 > cache bytes: 0 > Actual Size: 0x0 > Play Size: 0x0 > memory free > ~nsPluginInstance called > ------------------------end----------------------------------- > > After this, we disabled "nomediacache", and it worked fine. > > What do you think of the "buffer" URL strangeness? Is it possible that > this is something on our end? > > Thanks! > Carlos > > Kevin DeKorte wrote: > >Carlos, > > > >Can you send me the <embed> block from view source in the browser? Maybe > > that will give me an idea of what the code path is. > > > >Kevin > > > >On Wednesday 31 March 2004 01:04 pm, Carlos Knowlton wrote: > >>Hi Kevin, > >> > >>Thanks, I tried this code, and, strangely, it worked the first embedded > >>video I tried from an Apache 2.0 based server, but afterwards, it failed > >>at the same place (ie, "getting playlists"), and I couldn't get it to > >>work again. > >> > >>I am working to get you an html embed sample that emulates the > >>environment that I'm working in. So far, I have a static html file > >>located at http://acellus.com/~cknowlton/video/embedFile.htm . The only > >>problem with it, is that it works for me. The actual environment that we > >>are working from is a dynamically generated web page, where the embedded > >>video is in a frame, and many of the attributes, including the filename > >>are handed to it as variables. If I can get you a more lifelike example > >>of what I'm working with, I will. > >> > >>Meanwhile, here is the debug output from after the code change you gave > >> me: > >> > >>---------------------------start------------------------------------ > >>Embedded mode > >>Argument Name: onmediacomplete > >>Argument Value: event_method() > >>mediaCompleteCallback=javascript:event_method() > >>Argument Name: filename > >>Argument Value: /Courses/ALG/ALG000/ALG000A.mpg > >>Argument Name: autostart > >>Argument Value: 1 > >>argv[i]=1 > >>autostart=1 > >>Argument Name: height > >>Argument Value: 400 > >>Argument Name: width > >>Argument Value: 500 > >>Argument Name: id > >>Argument Value: VideoLoc > >>Argument Name: name > >>Argument Value: VideoLoc > >>Argument Name: type > >>Argument Value: application/x-mplayer2 > >>New window! old: 0x0 new 0x2800001 > >>Size: 0 0 2800001 > >>Size: 500x400 > >>back in SetWindow > >>New Size: 500x400 > >>exiting URL base with http://192.168.1.229/Courses/ALG/ALG000/ > >>entering getURLHostname > >>url /Courses/ALG/ALG000/ALG000A.mpg > >>buffer p? > >> > >>(Gecko:2516): Gtk-CRITICAL **: file gtkwidget.c: line 5634 > >>(gtk_widget_set_events): assertion `!GTK_WIDGET_REALIZED (widget)' failed > >>ready to setup threads > >>creating thread - NP_EMBED > >>creating player thread > >>In launchPlayerThread, state = 110 > >>----player thread: in playPlayList > >>----player thread: about to go to sleep, js_state = 6, state = 110 > >>MAIN THREAD DONE > >>didn't find the node in the playlist > >>http://192.168.1.229/Courses/ALG/ALG000/ALG000A.mpg > >>JS getTime issued > >>shut called > >>mplayer dead > >>Entering deleteList > >>DELETE p? > >>File delete > >>size: 0 > >>remove: 1 > >>play: 1 > >>playlist: 0 > >>speed: -1 > >>cancelled: 0 > >>retrieved: 0 > >>mms stream: 0 > >>cache bytes: 0 > >>Actual Size: 0x0 > >>Play Size: 0x0 > >>DELETE http://192.168.1.229/Courses/ALG/ALG000/ALG000A.mpg > >>File delete > >>size: 0 > >>remove: 1 > >>play: 1 > >>playlist: 0 > >>speed: -1 > >>cancelled: 0 > >>retrieved: 0 > >>mms stream: 0 > >>cache bytes: 0 > >>Actual Size: 0x0 > >>Play Size: 0x0 > >>memory free > >>~nsPluginInstance called > >>---------------------------end------------------------------------- > >> > >>Thanks, > >>Carlos > >> > >>Kevin DeKorte wrote: > >>>Carlos, > >>> > >>>Try this > >>> > >>>on line 230 or 231 of plugin-threads.cpp > >>> > >>>Change > >>> > >>> baseurl = getURLBase(instance->td->list->url); > >>> > >>> if (baseurl != NULL) { > >>> if (instance->baseurl == NULL) { > >>> instance->baseurl = baseurl; > >>> } else { > >>> if (strcmp(instance->baseurl, baseurl) != 0) { > >>> NPN_MemFree(instance->baseurl); > >>> instance->baseurl = baseurl; > >>> } else { > >>> NPN_MemFree(baseurl); > >>> } > >>> } > >>> } > >>> > >>>to > >>> > >>> baseurl = NULL; > >>> if (instance->baseurl == NULL) { > >>> baseurl = getURLBase(instance->td->list->url); > >>> > >>> if (baseurl != NULL) { > >>> if (instance->baseurl == NULL) { > >>> instance->baseurl = baseurl; > >>> } else { > >>> if (strcmp(instance->baseurl, baseurl) != 0) { > >>> NPN_MemFree(instance->baseurl); > >>> instance->baseurl = baseurl; > >>> } else { > >>> NPN_MemFree(baseurl); > >>> } > >>> } > >>> } > >>> } > >>> > >>> > >>>and see if that helps > >>> > >>>Kevin > >>> > >>>On Wednesday 31 March 2004 09:13 am, Kevin DeKorte wrote: > >>>>Carlos, > >>>> > >>>>I can't seem to duplicate this error, can you send me the html page > >>>> with the embed tag in it. > >>>> > >>>>Kevin > >>>> > >>>>On Tuesday 30 March 2004 08:45 pm, Carlos Knowlton wrote: > >>>>>Hi Kevin, > >>>>> > >>>>>Okay, here's the situation (updated!). I have upgraded Apache to > >>>>> 2.0.48. I still have nomediacache enabled, and when I access the > >>>>> video directly: > >>>>> "http://192.168.1.229/Courses/ALG/ALG000/ALG000A.mpg", it plays the > >>>>> video great (1). Next I do the same video embedded in a web page, and > >>>>> it stops like before at "getting playlists"(2). Then I disable > >>>>>nomediacache, and it plays fine embedded (3). > >>>>> > >>>>>I studied the output of these scenarios, and it looks in 1 and 2 > >>>>> you're feeding the URL into a buffer. > >>>>>In 1, I get: > >>>>> > >>>>>New, full mode 2 > >>>>>New window! old: 0x0 new 0x2c00001 > >>>>>Size: 0 0 2c00001 > >>>>>Size: 825x648 > >>>>>back in SetWindow > >>>>>New Size: 825x648 > >>>>>exiting URL base with http://192.168.1.229/Courses/ALG/ALG000/ > >>>>>exiting URL base with http://192.168.1.229/Courses/ALG/ALG000/ > >>>>>entering getURLHostname > >>>>>exiting getURLHostname with 192.168.1.229 > >>>>>url http://192.168.1.229/Courses/ALG/ALG000/ALG000A.mpg > >>>>>buffer http://192.168.1.229/Courses/ALG/ALG000/ALG000A.mpg > >>>>>[...Mplayer takes over, good video!...] > >>>>> > >>>>>In 2, I get: > >>>>> > >>>>>Embedded mode > >>>>>[...embed args...] > >>>>>New window! old: 0x0 new 0x2e00001 > >>>>>Size: 0 0 2e00001 > >>>>>Size: 500x400 > >>>>>back in SetWindow > >>>>>New Size: 500x400 > >>>>>exiting URL base with http://192.168.1.229/Courses/ALG/ALG000/ > >>>>>exiting URL base with /Courses/ALG/ALG000/ > >>>>>entering getURLHostname > >>>>>url /Courses/ALG/ALG000/ALG000A.mpg > >>>>>buffer @??? > >>>>>[...complaints about not finding file for the playlist, because the > >>>>>filename is "@???"...] > >>>>> > >>>>>in 3, I get: > >>>>> > >>>>>Embedded mode > >>>>>[...same embed args as in 2...] > >>>>>New window! old: 0x0 new 0x2e00001 > >>>>>Size: 0 0 2e00001 > >>>>>Size: 500x400 > >>>>>back in SetWindow > >>>>>New Size: 500x400 > >>>>>exiting URL base with http://192.168.1.229/Courses/ALG/ALG000/ > >>>>>exiting URL base with /Courses/ALG/ALG000/ > >>>>>entering getURLHostname > >>>>>[...Mplayer takes over, more good video!...] > >>>>> > >>>>>So question, in "Embedded mode", is the URL getting passed to the > >>>>> buffer or playlist any different than in "New, full mode 2"? > >>>>> > >>>>>I wish I had a better understanding of C++, then I could help debug > >>>>> this better. As it is, I hope this helps. Let me know if there is > >>>>> anything else. (though the debug is nearly identical to stuff I've > >>>>> already posted, I would he happy to send it again, if you need it.) > >>>>> > >>>>>Thank You! > >>>>>Carlos |