IPB

Welcome Guest ( Log In | Register )

2 Pages V   1 2 >  
Reply to this topicStart new topic
> Channel change with TSFileSource
kal
post 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
Go to the top of the page
 
+Quote Post
bear
post Nov 13 2009, 08:36 PM
Post #2


Forum Regular


Group: Members
Posts: 3,020
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.
Go to the top of the page
 
+Quote Post
kal
post 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 smile.gif
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
Go to the top of the page
 
+Quote Post
kal
post 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
Go to the top of the page
 
+Quote Post
bear
post Nov 13 2009, 10:57 PM
Post #5


Forum Regular


Group: Members
Posts: 3,020
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.
Go to the top of the page
 
+Quote Post
kal
post 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 smile.gif
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 sad.gif
Do you have any ideas?


--------------------
The Sleeper Must Awaken
Go to the top of the page
 
+Quote Post
bear
post Nov 14 2009, 05:16 AM
Post #7


Forum Regular


Group: Members
Posts: 3,020
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?
Go to the top of the page
 
+Quote Post
kal
post 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 sad.gif


--------------------
The Sleeper Must Awaken
Go to the top of the page
 
+Quote Post
bear
post Nov 16 2009, 07:53 PM
Post #9


Forum Regular


Group: Members
Posts: 3,020
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
Go to the top of the page
 
+Quote Post
kal
post 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
Go to the top of the page
 
+Quote Post
bear
post Nov 16 2009, 09:01 PM
Post #11


Forum Regular


Group: Members
Posts: 3,020
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?
Go to the top of the page
 
+Quote Post
kal
post 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)
Attached File  Properties.jpg ( 78.13K ) Number of downloads: 9
 


--------------------
The Sleeper Must Awaken
Go to the top of the page
 
+Quote Post
bear
post Nov 16 2009, 10:28 PM
Post #13


Forum Regular


Group: Members
Posts: 3,020
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?
Go to the top of the page
 
+Quote Post
kal
post 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
Go to the top of the page
 
+Quote Post
bear
post Nov 16 2009, 11:17 PM
Post #15


Forum Regular


Group: Members
Posts: 3,020
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 .ts
QUOTE
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.
Go to the top of the page
 
+Quote Post
kal
post 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 sad.gif
I've made another graph with only the source graph reading the test.ts file, and no problem at all sad.gifsad.gif
Does it help you?
If you want I can upload you a 256Mb file (the test.ts file)


--------------------
The Sleeper Must Awaken
Go to the top of the page
 
+Quote Post
bear
post Nov 16 2009, 11:37 PM
Post #17


Forum Regular


Group: Members
Posts: 3,020
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.
Go to the top of the page
 
+Quote Post
kal
post Nov 16 2009, 11:43 PM
Post #18


Participant


Group: New Members
Posts: 24
Joined: 21-July 09
Member No.: 12,385
Card: None


QUOTE (bear @ Nov 16 2009, 02:37 PM) *
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 sad.gif


--------------------
The Sleeper Must Awaken
Go to the top of the page
 
+Quote Post
bear
post Nov 16 2009, 11:55 PM
Post #19


Forum Regular


Group: Members
Posts: 3,020
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.
Go to the top of the page
 
+Quote Post
kal
post 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 wink.gif
I will try it on another PC to see if it is the same


--------------------
The Sleeper Must Awaken
Go to the top of the page
 
+Quote Post

2 Pages V   1 2 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 21st May 2013 - 11:27 PM