![]() ![]() |
| Guest_JoeyBloggs_* |
Apr 15 2004, 02:11 PM
Post
#81
|
|
Guests |
Excuse me sir. May I be excused. My brain is full
|
|
|
|
Apr 16 2004, 08:42 AM
Post
#82
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
OK, I had some free time last night so started playing with this, I
installed the drivers, all worked fine, drivers installed and I could then see the Spectrum options in GraphEdit. Started playing with GraphEdit and all is working great, I can now watch TV without having to touch the TwinHan drivers/software at all :-) I started modifying the BDA example app that comes with the DirectX SDK and got it working with DVB-T tune requests and DVB-T Tune Spaces. I did not get a lot of time to play with the app last night, I will play a bit more this weekend. There are one or two small issues I did not get a chance to investigate but it is working and I can use it to watch TV and change channels etc. One thing I did notice is that it does not matter what Bandwidth you submit in your DVBT Tune Request it always works, Spectrum are you hard coding any of the tune option in the tuner driver? So last night I got the driver installed and used GraphEdit to watch TV and then capture the Transport Stream to Disk which I then demuxed using ProjectX and remuxed just the streams I wanted. All worked fine but much more testing needs to be done. And all of this without having to touch the buggy TwinHan SDK at all :-) |
|
|
|
| Guest_Spectrum_* |
Apr 16 2004, 01:12 PM
Post
#83
|
|
Guests |
:oops: Yes the bandwidth is hard coded. If you see the need I can put some code in to allow it to be manually set.
Spectrum |
|
|
|
| Guest_JoeyBloggs_* |
Apr 16 2004, 01:15 PM
Post
#84
|
|
Guests |
Good work
Now you need to run up two (2) GraphEdits and see if that will work :wink: |
|
|
|
Apr 16 2004, 01:44 PM
Post
#85
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
It would probably be better to not hard code the options, this card is available in other counrties so it might be a good idea to try to support as many of the tune options that the DVB-T Locator and Base Locator can supply. Following is a list of the Locator interface settings.
ILocator Interface: put_CarrierFrequency - Sets the frequency of the RF signal. put_InnerFEC - Sets the type of inner forward error correction that is used. put_InnerFECRate - Sets the inner FEC rate. put_Modulation - Sets the modulation type. put_OuterFEC - Sets the type of inner forward error correction that is used. put_OuterFECRate - Sets the outer FEC rate. put_SymbolRate - Sets the QPSK symbol rate. And for the DVB-T specifice Locator Interface: put_Bandwidth - Sets the bandwidth of the frequency in megahertz, usually 7 or 8. put_Guard - Sets the guard interval. put_HAlpha - Sets the hierarchy alpha. put_LPInnerFEC - Sets the inner FEC type of the low-priority stream. put_LPInnerFECRate - Sets the inner FEC rate of the low-priority stream. put_Mode - Sets the transmission mode. put_OtherFrequencyInUse - Specifies whether the frequency is being used by another DVB-T broadcaster. Having said that the driver should try to support most of the above, I do not even know what half of them are so that might be a bit hard :-) Also I could not see anywhere in the Graphedit interface for submitting tune requests where you could specify the DVBT locator options (bandwidth), I could only see the Base Locator interface settings, so if you do implement this your driver my not work with Graphedit any more. I hope to finish modifying the BDA sample app for DVB-T on the weekend and will make the source available as well as an exe so people can use your driver etc. I will then start thinking about a Tune Request Factory DLL. |
|
|
|
Apr 16 2004, 01:46 PM
Post
#86
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
QUOTE Good work Now you need to run up two (2) GraphEdits and see if that will work :wink: At the moment I do not have two cards in the same machine, I will try this once I have some working code to throw at two cards but for now I am just trying to get my head around how to drive this driver and tuner etc. |
|
|
|
| Guest_Spectrum_* |
Apr 16 2004, 01:54 PM
Post
#87
|
|
Guests |
Actually out of all the functions listed for the interfaces above, the VisionPlus card only supports carrier frequency and bandwidth. It determines the rest automatically from the signal.
I had noticed that the bandwidth was not being passed to the driver (probably when using GraphEdit as you pointed out above) - I think that's why I hard coded "7" in the first place. I'll do some more investigation over the weekend. If it turns out that the bandwidth is not always passed, I will still need to use some default value. I was thinking maybe I could ask the user at installation time what country they were in and write a bandwith value to the registry that the driver can read later on. It may be possible to just get the computer location setting and work from that too. Spectrum |
|
|
|
| Guest_Spectrum_* |
Apr 16 2004, 01:59 PM
Post
#88
|
|
Guests |
It will be great to have null_pointer and anyone else who want to join in writing applications. The more the better.
Spectrum |
|
|
|
Apr 16 2004, 02:11 PM
Post
#89
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
You could add auto detection of the bandwidth based on the location id from the system settings, i.e. location 61 (Aust) would default to 7 etc but if a bandwidth was passed in then that is what it would use regardless.
When you are creating an app you will always be adding a DVBTLocator to your Tune Requesty so you will always be setting the bandwidth. My intention is to create a BDA DLL plugin for Web Scheduler, it will capture the complete Transport Stream initially but there are other filters that hopfully will allow individual demuxed A/V streams to be muxed and saved as a program stream MPG file. |
|
|
|
| Guest_JoeyBloggs_* |
Apr 16 2004, 02:17 PM
Post
#90
|
|
Guests |
Trying hard not to get distracted... but I might get another VP and put it in my secondary machine
Well I would suggest an open source (MIT) test bed in c++ that we could all work with to start off with. You, Shaun, Nate, Myself... It's a bit pointless all four of us adapting the BDA sample ? |
|
|
|
Apr 16 2004, 02:27 PM
Post
#91
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
QUOTE It's a bit pointless all four of us adapting the BDA sample ? Yep, agreed, once I have made a few more changed I will upload the source and exe to my server, it will be a starting point for people to look at or use as a base to create TV apps etc. It is much easier to understand how this works when you have a working c++ code sample in from of your. The main problem is understanding the Microsoft Unified Tuning Model, it is quite different to the old WDM tuning interface that are available for the old analog cards. |
|
|
|
| Guest_Spectrum_* |
Apr 16 2004, 07:39 PM
Post
#92
|
|
Guests |
null_pointer, I've updated the drivers to allow the setting/getting of bandwidth and frequency multiplier. As I can't test bandwidth with GraphEdit could you give it a go please? GraphEdit uses a frequency multiplier of 1000 by default it seems.
Hopefully you'll fail to tune any channels with bandwidth values other than 7. http://home.swiftdsl.com.au/~spectrum/drivers.zip Spectrum |
|
|
|
Apr 17 2004, 05:12 PM
Post
#93
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
frequency multiplier?
Where is this set? I can not find any reference to it in the Locator Interfaces. I have had a little bit of a play and can not get it to use the custom bandwidth. Also the version number in one of the INF file is still showing 1.1.0.0 instead of 1.2.0.0 I have finished modifying the BDA sample, it is available in source and binary format from the following URL: http://www.digtv.ws/files/dvb/BDA/ |
|
|
|
| Guest_Spectrum_* |
Apr 19 2004, 02:51 PM
Post
#94
|
|
Guests |
null_pointer, I'm not sure if this explains it, but if so, it appears put_Bandwidth is not implemented. I suspect we'll just have to wait for a DirectX update to fix it:
http://groups.google.com.au/groups?hl=en&l...bda%2Bbandwidth Either that or the wrong interface is being used. My DirectShow is a little rusty but would the http://msdn.microsoft.com/library/en-us/di...erinterface.asp IBDA_FrequencyFilter interface work? It defines get/put_Bandwidth as well as get/put_FrequencyMultiplier. Spectrum |
|
|
|
| Guest_ngoodchild_* |
Apr 19 2004, 03:43 PM
Post
#95
|
|
Guests |
A working BDA sample, I'd like to see that!
|
|
|
|
Apr 19 2004, 06:33 PM
Post
#96
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
QUOTE A working BDA sample, I'd like to see that! So are you saying the sample availabel from the above link works or does not work on your system? |
|
|
|
Apr 19 2004, 06:35 PM
Post
#97
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
QUOTE null_pointer, I'm not sure if this explains it, but if so, it appears put_Bandwidth is not implemented. I suspect we'll just have to wait for a DirectX update to fix it:
Either that or the wrong interface is being used. My DirectShow is a little rusty but would the IBDA_FrequencyFilter interface work? It defines get/put_Bandwidth as well as get/put_FrequencyMultiplier. Spectrum It looks like the DVB-T network provider filter does not support the bandwidth option then. |
|
|
|
| Guest_bionicdonkey_* |
Apr 19 2004, 07:05 PM
Post
#98
|
|
Guests |
QUOTE QUOTE null_pointer, I'm not sure if this explains it, but if so, it appears put_Bandwidth is not implemented. I suspect we'll just have to wait for a DirectX update to fix it:
Either that or the wrong interface is being used. My DirectShow is a little rusty but would the IBDA_FrequencyFilter interface work? It defines get/put_Bandwidth as well as get/put_FrequencyMultiplier. Spectrum It looks like the DVB-T network provider filter does not support the bandwidth option then. I'm not sure i quite follow what your saying as i'm still trying to figure dba and c++ all at once which is very hard on the brain, but isn't the bandwidth set in the IDVBTLocator?? |
|
|
|
Apr 19 2004, 07:23 PM
Post
#99
|
|
|
Web Scheduler Developer Group: Developers Posts: 4,495 Joined: 9-July 03 From: Melb Member No.: 9 Card: None |
QUOTE I'm not sure i quite follow what your saying as i'm still trying to figure dba and c++ all at once which is very hard on the brain, but isn't the bandwidth set in the IDVBTLocator?? Yep, sure is, you set the bandwidth in the locator, add the locator to the Tune Request and then put the Tune Request to the iTune interface on the Network Provider. It is the network provider that does all the actual interface calls to all the device filters to set them up etc. Check out the following links, they have some very good info: http://msdn.microsoft.com/library/en-us/di...ningprocess.asp http://msdn.microsoft.com/library/en-us/di...pplications.asp Check out the CreateDVBTTuneRequest method in the sample I uploaded. |
|
|
|
| Guest_bionicdonkey_* |
Apr 19 2004, 07:40 PM
Post
#100
|
|
Guests |
does the tune request go to the video control before going to the network provider?
|
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 20th June 2013 - 11:50 AM |