![]() ![]() |
Nov 13 2009, 02:58 AM
Post
#1
|
|
|
Participant Group: New Members Posts: 24 Joined: 21-July 09 Member No.: 12,385 Card: None |
Hi everyone,
I'm currently reviewing my channel change and I want to know what is the recommended way to change channel with TSFileSource. What I'm doing is setting a TuneRequest on the NP but I don't know what I have to do with the TSFileSource to change to channel. I saw that it can be driven by the tuner if you call SetTuneEvent() I've also called SetNPSlave(1) Do I have to have a NP in the same graph where the TSFileSource filter is? I'm currently having two different graphs, one with the NP and the TSFileSink, and the other with the TSFileSource, is it correct? If you need more informations, do not hesitate. DaN -------------------- The Sleeper Must Awaken
|
|
|
|
Nov 13 2009, 08:36 PM
Post
#2
|
|
|
Forum Regular Group: Members Posts: 3,034 Joined: 24-April 04 From: Queensland Member No.: 808 Card: VisionPlus DVB-t |
There are a number of methods to change channels and the use of each method will depend on the features of the application, hence these would need to be outlined before a recommendation could be made.
To get the best out of a single tuner device I would suggest you do the following:- For a channel stream change do the following:- 1) Build your sink graph as you have indicated. eg, NP->Tuner->Capture->Tee->Demux->TIF/S&T, Tee->TSFileSink.(Full Stream Mux) 2) Build the TSFileSource Player Graph again as you have indicated. Change stream channels using the IAMStreamSelect Interface on TSFileSource.(Rapid channel change should occur.) For a channel frequency change do the following:- 3) Build a second sink graph as above. eg, NP->Tuner->Capture->Tee->Demux->TIF/S&T, Tee->TSFileSink.(Set it with a new filename) 4) Stop the first sink graph then start the second sink graph. (At this time tsfilesource will continue to play the file from the first sink graph) 5) Using IFileSource interface on the TSFileSource filter load the new filename and the player will begin to play the second sink graph's file.(channel change will in most cases be seamless although it could be delayed say 1sec) 6) Destroy the first Sink Graph which should delete the first sink graph's redundant buffer files. If you prefer to timeshift only a single stream at a time then follow steps 1-6 above for both stream and frequency channel changes but alter your sink graphs to the following:- NP->Tuner->Capture->Tee->Demux->TIF/S&T, Tee->Demux->TSFileSink.(Single Stream Mux) Here you will not need to select the sub channel your after on the TSFileSource filter as it is only a single program. Note: The more devices available the better the experience for the user, see DigitalWatch II for multi channel timeshifting with seemless channel changes using multiple devices. |
|
|
|
Nov 13 2009, 09:00 PM
Post
#3
|
|
|
Participant Group: New Members Posts: 24 Joined: 21-July 09 Member No.: 12,385 Card: None |
Thanks a lot Bear for all this information and the help your providing
I will try do to as you say and keep you informed of my progress So, BTW, I don't have to call SetTuneEvent() and SetNPSlave(1) right? -------------------- The Sleeper Must Awaken
|
|
|
|
Nov 13 2009, 09:39 PM
Post
#4
|
|
|
Participant Group: New Members Posts: 24 Joined: 21-July 09 Member No.: 12,385 Card: None |
One dumb question: How do I know the index I should pass to the Enable methode?
-------------------- The Sleeper Must Awaken
|
|
|
|
Nov 13 2009, 10:57 PM
Post
#5
|
|
|
Forum Regular Group: Members Posts: 3,034 Joined: 24-April 04 From: Queensland Member No.: 808 Card: VisionPlus DVB-t |
QUOTE BTW, I don't have to call SetTuneEvent() and SetNPSlave(1) right? SetNPSlave(0), do not use SetTuneEvent() as this is used for when NP in the same graph as tsfilesource and not recommended.QUOTE How do I know the index I should pass to the Enable method parse the stream list from the interface. if you open the tsfilesource property page and right click on the about unfo at the bottom you will see the stream select menu.
|
|
|
|
Nov 14 2009, 12:19 AM
Post
#6
|
|
|
Participant Group: New Members Posts: 24 Joined: 21-July 09 Member No.: 12,385 Card: None |
Thanks again Bear
Now I've parsed the different streams to find my current program I want to tune on but I have a new problem, I've got to do: pStream->Enable(curProg, AMSTREAMSELECTENABLE_ENABLEALL); // curProg is the stream index I want to select two times or it doesn't work, ie the sound is mixed with the other stream I think and the video is not displayed Do you have any ideas? -------------------- The Sleeper Must Awaken
|
|
|
|
Nov 14 2009, 05:16 AM
Post
#7
|
|
|
Forum Regular Group: Members Posts: 3,034 Joined: 24-April 04 From: Queensland Member No.: 808 Card: VisionPlus DVB-t |
QUOTE ie the sound is mixed with the other stream I think and the video is not displayed Not sure I understand. Does the stream select pop up menu on the property page need two clicks to select?
|
|
|
|
Nov 16 2009, 07:20 PM
Post
#8
|
|
|
Participant Group: New Members Posts: 24 Joined: 21-July 09 Member No.: 12,385 Card: None |
Yes Bear I've got exactly the same problem with the right popup menu, and with the setpgmnumb also
-------------------- The Sleeper Must Awaken
|
|
|
|
Nov 16 2009, 07:53 PM
Post
#9
|
|
|
Forum Regular Group: Members Posts: 3,034 Joined: 24-April 04 From: Queensland Member No.: 808 Card: VisionPlus DVB-t |
Interesting, I have not seen this nor heard of anyone having a similar issue. Are you using the latest TSFileSource version? V2.2.1.0
|
|
|
|
Nov 16 2009, 08:17 PM
Post
#10
|
|
|
Participant Group: New Members Posts: 24 Joined: 21-July 09 Member No.: 12,385 Card: None |
I'm using the 2.2.0.9 version
What's new in the 2.2.1? -------------------- The Sleeper Must Awaken
|
|
|
|
Nov 16 2009, 09:01 PM
Post
#11
|
|
|
Forum Regular Group: Members Posts: 3,034 Joined: 24-April 04 From: Queensland Member No.: 808 Card: VisionPlus DVB-t |
QUOTE What's new in the 2.2.1? Not alot. Can you indicate what modes your running or send a pict of the property page so i can try and duplicate the issue here?
|
|
|
|
Nov 16 2009, 09:44 PM
Post
#12
|
|
|
Participant Group: New Members Posts: 24 Joined: 21-July 09 Member No.: 12,385 Card: None |
Here is attached the properties of my Source filter
I hope it will help you Maybe there is something to do with the two sound streams
Attached File(s)
-------------------- The Sleeper Must Awaken
|
|
|
|
Nov 16 2009, 10:28 PM
Post
#13
|
|
|
Forum Regular Group: Members Posts: 3,034 Joined: 24-April 04 From: Queensland Member No.: 808 Card: VisionPlus DVB-t |
QUOTE Maybe there is something to do with the two sound streams Possible but am unable to test this. Can you supply a test stream or better still does it behave the same way if you play a .ts file in graphedit using the tsfilesource?
|
|
|
|
Nov 16 2009, 11:05 PM
Post
#14
|
|
|
Participant Group: New Members Posts: 24 Joined: 21-July 09 Member No.: 12,385 Card: None |
Doesnt tsfilesource already read ts files??? the tsbuffer file are ts files no?
Do you want me to capture the TNT stream and try with that captured file? if I copy a tsbuffer file for this ts file, is it a good test? Can it have something to do with the quality or signal strength? Do I have to stop or pause the graph before changing the stream? -------------------- The Sleeper Must Awaken
|
|
|
|
Nov 16 2009, 11:17 PM
Post
#15
|
|
|
Forum Regular Group: Members Posts: 3,034 Joined: 24-April 04 From: Queensland Member No.: 808 Card: VisionPlus DVB-t |
QUOTE Doesnt tsfilesource already read ts files??? the tsbuffer file are ts files no? Yes, it plays .ts files fine, the buffer files also no problem.QUOTE Do you want me to capture the TNT stream and try with that captured file? Yes, this would help to eliminate an issue with the TSSinkFilter mode. QUOTE if I copy a tsbuffer file for this ts file, is it a good test? Yes, using one of the buffer .ts files shoud be playable if renamed to .tsQUOTE Can it have something to do with the quality or signal strength? I think it is unlikely to do with signal levels.QUOTE Do I have to stop or pause the graph before changing the stream? No, TSFileSource should do all this automatically. The best approach is to use graphedt to build or render the player graph and then do the stream changes using the filters property page. This way you should see the graph change filters(you will need to refresh the graph) etc anf play the different channels.The suggestion of providing a test stream would assist me in ensuring that the issue can be duplicated on another setup. Without access to the code your writing it's always hard to imagine what could be the cause. |
|
|
|
Nov 16 2009, 11:28 PM
Post
#16
|
|
|
Participant Group: New Members Posts: 24 Joined: 21-July 09 Member No.: 12,385 Card: None |
What I've done is copy one of the ts file to a test.ts file.
If I try to change channel with my sink graph running, the problem is here I've made another graph with only the source graph reading the test.ts file, and no problem at all Does it help you? If you want I can upload you a 256Mb file (the test.ts file) -------------------- The Sleeper Must Awaken
|
|
|
|
Nov 16 2009, 11:37 PM
Post
#17
|
|
|
Forum Regular Group: Members Posts: 3,034 Joined: 24-April 04 From: Queensland Member No.: 808 Card: VisionPlus DVB-t |
QUOTE If I try to change channel with my sink graph running, the problem is here Ok this tells me that the problem exists when running it in your application. Correct?QUOTE I've made another graph with only the source graph reading the test.ts file, and no problem at all Ok this tells me that the filter is working correctly if playing a normal .ts file.QUOTE If you want I can upload you a 256Mb file (the test.ts file) No need, the step above suggests that the stream is fine and is more likely to be related to the operation of the File sink mode.One more test is if you can create a timeshift buffer using your application and then use graphedt to playback the buffer files to see if the problem exists outside of your application. |
|
|
|
Nov 16 2009, 11:43 PM
Post
#18
|
|
|
Participant Group: New Members Posts: 24 Joined: 21-July 09 Member No.: 12,385 Card: None |
Ok this tells me that the problem exists when running it in your application. Correct? No I've made this test in graphedit too with two seperate graphs But yes it must be related to the tsfilesink somehow but I don't see where -------------------- The Sleeper Must Awaken
|
|
|
|
Nov 16 2009, 11:55 PM
Post
#19
|
|
|
Forum Regular Group: Members Posts: 3,034 Joined: 24-April 04 From: Queensland Member No.: 808 Card: VisionPlus DVB-t |
Can you describe the decoders your using? It could be related to incompatable audio/video filters.
Can you look at the CPU Affinity of the process, might be related to multi threading. I have tested the filter here again with tsfilesink and all works fine. Have you tried it on another PC. |
|
|
|
Nov 17 2009, 12:05 AM
Post
#20
|
|
|
Participant Group: New Members Posts: 24 Joined: 21-July 09 Member No.: 12,385 Card: None |
I'm using Mainconcept decoders for both audio and video.
My CPU doesn't seem to be overloaded. What I didn't tell you is that it is working on one transponder but not on another. The only differences I see in those transponders is that one has only one stream for the sound and the other has two streams. Oh and by the way, the application is intended to work in France I will try it on another PC to see if it is the same -------------------- The Sleeper Must Awaken
|
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 26th May 2013 - 02:17 PM |