i'm trying to force synchronicity in the http-get/mms requests over the 3.35 code, but i'm not quite grasping where in the code the event 'mms-ended' and 'playlist-ended' are located. it seems that it is inside 'destroystream()', but there is a lot of if-cases there and it is not clear to me what exactly they are doing. what i'm intending to do is the following:
1) comment out npn_geturlnotify() from inside addToList(), so that NO http-get requests are triggered immediately after the asx list entry is parsed.
2) trigger the get request (npn_geturl()) in the first element in the playlist only (where do i do it for the first element only?) to start the playlist going.
3) *after* the http-get/mms-get response finishes (that's why I need the location of the *-ended events above, i believe it is inside destroystream() somewhere), I call npn_geturlnotify() with the url of the next element in the playlist, retrieving synchronously the next element.
4) repeat and rinse (3) until we reach the end of the playlist.
as a sidenote, i noticed that mms streams are not called directly by npn_geturl(), but their urls are passed directly to mplayer (if i call npn_geturl() on mms streams, firefox opens up an external video player). are these mms urls also nodes in the playlist? (i'm assuming that a node structure similar to asx-parent->asx-entry1->mms1->asx-entry2->mms2->asx-entry3->mms3->null is built by buildPlaylist() - is this correct?) where is mplayer called?
would you mind to try to give some advice on how i could accomplish the steps above in the code?
ps: i tried the latest cvs on 16-02-2007, but the outsourcing of asx3.0 playlists to mplayer does not work with
video.globo.com: the asx-parent above (an asx3.0 list containing further references to other asx3.0 sublists) is not handled correctly for some reason. but if I call manually the asx-entry-X in mplayer (an
asx3.0 sublist containing only a reference to a mms stream), it plays correctly.