Thread: [Redbutton-devel] Problem after retuning with Freesat
Brought to you by:
skilvington
|
From: John W. <jo...@po...> - 2011-02-15 22:47:03
|
Hello, I'm trying to get the redbutton program to work with a DVB-S card and the BBC "Freesat" service. Actually, I'm trying to convert the code into a plugin for the VDR program. If I tune into BBC1 and run "rb-browser" then all goes well until I select an option from the menu that causes it to re-tune. For example, today there's an option that causes it to re-tune to "BBC Stream 35" which is showing a programme about folk music. This service is on a different transponder (12441MHz instead of 10773MHz). The re-tuning works OK and I see the new programme, but rb-browser then tries to re-initialize and looks for ~//a or ~//startup. Neither of these exist in the new service, so after a few seconds it gives up and exits. There are certainly some carousel files being downloaded from the "Stream 35" service, so I suppose rb-browser is looking for the wrong thing, but I can't puzzle out what. I've got a spec (mheg_profile_106.pdf), which says the initial file object can be sent in the ServiceContextList, but the debug output shows this is empty. There is a file "/app/a", so I tried hardcoding this as the initial file instead of "/a"; it read the file and then tried to find "/boot", and neither /boot nor /app/boot exist, so that didn't work. Any suggestions on how to debug this would be welcome, as I'm stuck. Regards, John Williams |
|
From: Simon K. <s.k...@er...> - 2011-02-16 10:02:13
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 sounds a bit odd, could you run rb-browser with the -v option and send the log and/or tar up the services and carousels directory that rb-download creates for both the initial and the re-tuned service? On 15/02/11 22:46, John Williams wrote: > Hello, > > I'm trying to get the redbutton program to work with a DVB-S card and > the BBC "Freesat" service. Actually, I'm trying to convert the code > into a plugin for the VDR program. > > If I tune into BBC1 and run "rb-browser" then all goes well until I > select an option from the menu that causes it to re-tune. For example, > today there's an option that causes it to re-tune to "BBC Stream 35" > which is showing a programme about folk music. This service is on a > different transponder (12441MHz instead of 10773MHz). The re-tuning > works OK and I see the new programme, but rb-browser then tries to > re-initialize and looks for ~//a or ~//startup. Neither of these exist > in the new service, so after a few seconds it gives up and exits. > > There are certainly some carousel files being downloaded from the > "Stream 35" service, so I suppose rb-browser is looking for the wrong > thing, but I can't puzzle out what. > > I've got a spec (mheg_profile_106.pdf), which says the initial file > object can be sent in the ServiceContextList, but the debug output > shows this is empty. There is a file "/app/a", so I tried hardcoding > this as the initial file instead of "/a"; it read the file and then > tried to find "/boot", and neither /boot nor /app/boot exist, so that > didn't work. > > Any suggestions on how to debug this would be welcome, as I'm stuck. > > Regards, > John Williams > > > ------------------------------------------------------------------------------ > The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: > Pinpoint memory and threading errors before they happen. > Find and fix more than 250 security defects in the development cycle. > Locate bottlenecks in serial and parallel code that limit performance. > http://p.sf.net/sfu/intel-dev2devfeb > _______________________________________________ > Redbutton-devel mailing list > Red...@li... > https://lists.sourceforge.net/lists/listinfo/redbutton-devel > > - -- Simon Kilvington -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk1bmpkACgkQmt9ZifioJSxYDgCdHksJDdJY26wa1XbKC2Z72fNS kvQAn3g4CqNDEx8u/seVMeSr7PFLbpmX =Nqwk -----END PGP SIGNATURE----- |
|
From: John W. <jo...@po...> - 2011-02-16 20:52:45
|
On Wed, 16 Feb 2011 09:36:25 +0000 Simon Kilvington <s.k...@er...> wrote: > sounds a bit odd, could you run rb-browser with the -v option and send > the log and/or tar up the services and carousels directory that > rb-download creates for both the initial and the re-tuned service? Wow, thanks for the quick reply. I've put a couple of files on a web server: http://john-williams.org/rb-browser.out.gz (the browser log) http://john-williams.org/mheg.tar.gz (services and carousels) I tuned to BBC1 (sid 6351) and pressed the menu entry to watch some sports. This retuned to sid 6886 which is on a different transponder. Wireshark shows rb-browser continuously trying to download the ~//a and ~//startup files. After a few seconds it gives up and bombs out. The log will also show that "avstream" is not working. That's OK, because the VDR program is holding the /dev/dvb/adapter0/dvr0 file open. I think I can fix that. Thanks, John Williams |
|
From: Simon K. <s.k...@er...> - 2011-02-18 17:31:38
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 think I can see what the problem is - looking into this missing Resident Program a bit more... TODO: program TII SI_TuneIndexInfo it looks like this should tell the browser to continue running the current MHEG app when it retunes the video - that would explain why there is no ~//a or ~//startup etc in the new channel - it's supposed to keep running the current app I've got some ideas for a patch, but it may take a while as I'm pretty snowed under at work at the moment... On 16/02/11 20:52, John Williams wrote: > On Wed, 16 Feb 2011 09:36:25 +0000 > Simon Kilvington <s.k...@er...> wrote: > >> sounds a bit odd, could you run rb-browser with the -v option and send >> the log and/or tar up the services and carousels directory that >> rb-download creates for both the initial and the re-tuned service? > > Wow, thanks for the quick reply. > > I've put a couple of files on a web server: > > http://john-williams.org/rb-browser.out.gz (the browser log) > > http://john-williams.org/mheg.tar.gz (services and carousels) > > I tuned to BBC1 (sid 6351) and pressed the menu entry to watch some > sports. This retuned to sid 6886 which is on a different transponder. > > Wireshark shows rb-browser continuously trying to download the ~//a and > ~//startup files. After a few seconds it gives up and bombs out. > > The log will also show that "avstream" is not working. That's OK, > because the VDR program is holding the /dev/dvb/adapter0/dvr0 file > open. I think I can fix that. > > Thanks, > John Williams > > > > > > > ------------------------------------------------------------------------------ > The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: > Pinpoint memory and threading errors before they happen. > Find and fix more than 250 security defects in the development cycle. > Locate bottlenecks in serial and parallel code that limit performance. > http://p.sf.net/sfu/intel-dev2devfeb > _______________________________________________ > Redbutton-devel mailing list > Red...@li... > https://lists.sourceforge.net/lists/listinfo/redbutton-devel > > -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk1erPAACgkQmt9ZifioJSwqvACfaxt27CppVqjdLYypkJiMR/My Si4An0lnMql45Ncyc+EUP9OMugbrOZLx =SLhD -----END PGP SIGNATURE----- |
|
From: John W. <jo...@po...> - 2011-02-18 22:55:01
|
On Fri, 18 Feb 2011 17:31:28 +0000 Simon Kilvington <s.k...@er...> wrote: > think I can see what the problem is - looking into this missing > Resident Program a bit more... > > TODO: program TII SI_TuneIndexInfo > > it looks like this should tell the browser to continue running the > current MHEG app when it retunes the video - that would explain why > there is no ~//a or ~//startup etc in the new channel - it's supposed > to keep running the current app I found some new documentation: http://www.etsi.org/deliver/etsi_es/202100_202199/202184/02.01.01_60/es_202184v020101p.pdf which explains what SI_TuneIndexInfo should do. If I can produce a patch myself, I'll send it to you. Although I don't have much time for it either. Thanks, John |
|
From: Simon K. <si...@un...> - 2011-02-19 11:20:11
Attachments:
tuneinfo.patch
tuneinfo.patch.sig
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 18/02/11 22:54, John Williams wrote: > On Fri, 18 Feb 2011 17:31:28 +0000 > Simon Kilvington <s.k...@er...> wrote: > >> think I can see what the problem is - looking into this missing >> Resident Program a bit more... >> >> TODO: program TII SI_TuneIndexInfo >> >> it looks like this should tell the browser to continue running the >> current MHEG app when it retunes the video - that would explain why >> there is no ~//a or ~//startup etc in the new channel - it's supposed >> to keep running the current app > > I found some new documentation: > http://www.etsi.org/deliver/etsi_es/202100_202199/202184/02.01.01_60/es_202184v020101p.pdf > > which explains what SI_TuneIndexInfo should do. > > If I can produce a patch myself, I'll send it to you. Although I don't > have much time for it either. > > Thanks, > John > the attached patch will print out what value the app is trying to pass to the SI_TuneIndexInfo function - can you give it a try so we can see what the app is trying to do? -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.15 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk1fn0gACgkQlZ0YqQ0PBu5p3wCfeSnGN7gboD3uWg1JgpLNpTlV xiwAoK0dMAp4JAboXu5pNDtj2uthv7pb =1Ptl -----END PGP SIGNATURE----- |
|
From: John W. <jo...@po...> - 2011-02-19 18:51:27
Attachments:
patch
|
On Sat, 19 Feb 2011 10:45:28 +0000 Simon Kay <si...@un...> wrote: > the attached patch will print out what value the app is trying to pass > to the SI_TuneIndexInfo function - can you give it a try so we can see > what the app is trying to do? Thanks for this: it was just the clue I needed to get it working. The parameter to SI_TuneIndexInfo is 11 (0x0b); so we should keep running after the tune. I've attached a patch which makes it work. This needs more work on it: my patch just keeps running the original carousel, and we should instead switch to using a carousel from the new service. But it has got me past the point where it was going wrong. When I've got time I'll try to produce a complete fix. Thanks, John |
|
From: Simon K. <s.k...@er...> - 2011-02-21 17:41:24
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 19/02/11 18:51, John Williams wrote: > > I've attached a patch which makes it work. > > This needs more work on it: my patch just keeps running the original > carousel, and we should instead switch to using a carousel from the new > service. But it has got me past the point where it was going wrong. > When I've got time I'll try to produce a complete fix. > > Thanks, > John > cool! I'll integrate what you've done - I think the carousel switching will need a bit of thinking about... -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk1io7oACgkQmt9ZifioJSyAlgCfdkwMoZyl3PGh2g1CdyGmT1ET t3MAnigabownJqZ9dQALfIpxXVxZnS8g =eY6h -----END PGP SIGNATURE----- |
|
From: Simon K. <s.k...@er...> - 2011-02-28 12:44:56
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 21/02/11 17:41, Simon Kilvington wrote: > On 19/02/11 18:51, John Williams wrote: > >> I've attached a patch which makes it work. > >> This needs more work on it: my patch just keeps running the original >> carousel, and we should instead switch to using a carousel from the new >> service. But it has got me past the point where it was going wrong. >> When I've got time I'll try to produce a complete fix. > >> Thanks, >> John > > > cool! I'll integrate what you've done - I think the carousel switching > will need a bit of thinking about... just got a quick question - I don't have access to FreeSat, so I can't test this, but what happens to the video stream when the channel changes with your patch? Does the video carry on playing? If it works as it is (ie the new channel video appears) then it is probably just lucky. I think we are going to have to reset the MHEGStreamPlayer object after the tune - actually, the PID filter to the dvr device will need updating, but it is done through the stream player object. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk1rmL0ACgkQmt9ZifioJSzFNACeOVt0ouVfReFYBfgqjgg/qp2k 3EEAnirmcQpyExsMEfzVVr2JyhGQsv88 =jY0T -----END PGP SIGNATURE----- |
|
From: John W. <jo...@po...> - 2011-02-28 20:16:22
|
On Mon, 28 Feb 2011 12:44:45 +0000 Simon Kilvington <s.k...@er...> wrote: > just got a quick question - I don't have access to FreeSat, so I can't > test this, but what happens to the video stream when the channel > changes with your patch? Does the video carry on playing? No. In fact the new channel is on a completely different transponder (12.441GHz instead of 10.773GHz), it has a different SID, different VPID and APID etc etc. The video just freezes. The spec says "any prepared MHEG-5 Stream objects shall be re-evaluated according to the context of the new service as if a SetData action had occurred". I would *guess* that this means that, if it was playing the default video/audio for the service before the tune, it should start playing the video/audio of the new service after the tune. This would require some code to change the PES filters to the new VPID and APID, which doesn't exist at the moment. Also, I think I've sometimes seem a StreamClass SetData action, which isn't implemented: perhaps this is setting some details of the new service? If I navigate to the menu option that takes me back to the original program on BBC1, then the video comes back to life again. So the PES filters must still be working OK, they are just filtering the wrong PIDs for the new service. Actually, I've built the code of rb-download into a plugin for the "vdr" program, so that rb-download uses vdr to do the tuning; this means that the new channel appears on my TV after the tune. Now the rb-browser program doesn't show any video at all, because vdr has got control of the dvr0 device; but my plan is to make rb-browser into a vdr plugin too, so that its text output will appear overlayed on top of the video output from vdr. Regards, John |
|
From: Simon K. <s.k...@er...> - 2011-03-04 17:00:11
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 28/02/11 20:16, John Williams wrote: > On Mon, 28 Feb 2011 12:44:45 +0000 > Simon Kilvington <s.k...@er...> wrote: > >> just got a quick question - I don't have access to FreeSat, so I can't >> test this, but what happens to the video stream when the channel >> changes with your patch? Does the video carry on playing? > > No. In fact the new channel is on a completely different transponder > (12.441GHz instead of 10.773GHz), it has a different SID, different > VPID and APID etc etc. The video just freezes. > > The spec says "any prepared MHEG-5 Stream objects shall be re-evaluated > according to the context of the new service as if a SetData action had > occurred". I would *guess* that this means that, if it was playing the > default video/audio for the service before the tune, it should start > playing the video/audio of the new service after the tune. This would > require some code to change the PES filters to the new VPID and APID, > which doesn't exist at the moment. Also, I think I've sometimes > seem a StreamClass SetData action, which isn't implemented: perhaps > this is setting some details of the new service? > > If I navigate to the menu option that takes me back to the original > program on BBC1, then the video comes back to life again. So the PES > filters must still be working OK, they are just filtering the wrong PIDs > for the new service. > I've just committed a patch that should (hopefully) allow the video to continue running when it changes channel - can you give it a try? it only handles the case when SetData is called explicitly, so it should work on this example, but I need to do an implicit SetData call when we do a non-destructive retune - if this works, I'll add that in... -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk1xGpEACgkQmt9ZifioJSwLwQCZASz2ShAvBktaw6zjMCQG7ZwR 2ncAn2fr/vN4ulnYVDv5DzEDDxUNIIdy =Pn+E -----END PGP SIGNATURE----- |