home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 1
MediaPortal 1 Talk
Hauppauge HD-PVR & Colossus Support
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="mm1352000" data-source="post: 920922" data-attributes="member: 82144"><p>Hello again</p><p> </p><p></p><p>For the recording, there is probably not much you can do. I thought the Colossus had audio downmixing capabilities, but according to the screenshot --><a href="https://forum.team-mediaportal.com/threads/plugin-idea.109527/" target="_blank">here</a><-- I am mistaken. So your only solution would be at playback time, or post-processing the recordings. With MP, you can use codecs like ffdshow for post-processing to mix the channels as desired. That means your amp would not be receiving DD - it would receive LPCM... I think.</p><p><a href="http://www.hack7mc.com/2009/02/simple-ffdshow-audio-settings.html" target="_blank">http://www.hack7mc.com/2009/02/simple-ffdshow-audio-settings.html</a></p><p> </p><p>I don't know if that kind of stuff is possible with XBMC given that the decoders are built in.</p><p> </p><p></p><p>It is a little complex because things don't happen sequentially when you use a blaster.</p><p>Normally TV Server tunes, then starts the recording.</p><p>With a blaster involved, you're "tuning" and blasting the commands at roughly the same time. There is no real guarantee of which will happen or finish first.</p><p> </p><p>I'll try to talk you through an example from the log files:</p><p>[collapse]2012-10-03 19:59:59.015625 [Record(27)]: TV3BlasterPlugin: Received TV Server Event "StartZapChannel" </p><p>2012-10-03 19:59:59.031250 [Record(27)]: TV3BlasterPlugin: Analog channel input source "YRYBYInput1" </p><p>2012-10-03 19:59:59.031250 [Record(27)]: TV3BlasterPlugin: Tune request - Card: 4, Channel: 1303, 1303 MFUNHD </p><p>2012-10-03 19:59:59.031250 [ProcessExternalChannel(12)]: TV3BlasterPlugin: ProcessExternalCommand("Blast: Select|Default", -1, 1303) </p><p>2012-10-03 19:59:59.031250 [ProcessExternalChannel(12)]: TV3BlasterPlugin - BlastIR(): C:\Documents and Settings\All Users\Application Data\IR Server Suite\IR Commands\Select.IR, Default [/collapse]</p><p>So first the blaster plugin is notified that TV Server is about to change channel. <strong>It starts its own process</strong> or thread for actually sending the commands to the STB. In other words, TV Server doesn't wait for the commands to be sent. It carries on tuning. TV Server has nothing to do with the blaster process after this. It effectively forgets about it and carries on tuning...</p><p></p><p>[collapse]2012-10-03 19:59:59.031250 [Record(27)]: TVServerXBMC: OnTvServerEvent: StartZapChannel </p><p>2012-10-03 19:59:59.031250 [Record(27)]: card: Tune 4 to 1303 MFUNHD </p><p>2012-10-03 19:59:59.046875 [Record(27)]: card: user: ForTheRecord27:4:-1 tune tv:1303 MFUNHD Freq:0 Channel:1303 Country:Canada Tuner:Cable Video:YRYBYInput1 Audio<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite5" alt=":confused:" title="Confused :confused:" loading="lazy" data-shortname=":confused:" />PDIFInput2 </p><p>2012-10-03 19:59:59.046875 [Record(27)]: HDPVR: Tune:-1, tv:1303 MFUNHD Freq:0 Channel:1303 Country:Canada Tuner:Cable Video:YRYBYInput1 Audio<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite5" alt=":confused:" title="Confused :confused:" loading="lazy" data-shortname=":confused:" />PDIFInput2 </p><p>2012-10-03 19:59:59.046875 [Record(27)]: HDPVR: GetNewSubChannel:0 #0 </p><p>2012-10-03 19:59:59.062500 [Record(27)]: subch:0 OnBeforeTune </p><p>2012-10-03 19:59:59.062500 [Record(27)]: HDPVR: Tune </p><p>2012-10-03 19:59:59.062500 [Record(27)]: HDPVR: Tuned to channel 1303 MFUNHD </p><p>2012-10-03 19:59:59.062500 [Record(27)]: subch:0 OnAfterTune </p><p>2012-10-03 19:59:59.062500 [Record(27)]: subch:0 OnGraphStart </p><p>2012-10-03 19:59:59.062500 [Record(27)]: HDPVR: RunGraph </p><p>2012-10-03 19:59:59.109375 [Record(27)]: HDPVR: Graph running </p><p>2012-10-03 19:59:59.109375 [Record(27)]: subch:0 OnGraphStarted </p><p>2012-10-03 19:59:59.109375 [Record(27)]: subch:0 SetupPmtGrabber<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite7" alt=":p" title="Stick Out Tongue :p" loading="lazy" data-shortname=":p" />id 100 sid:1 </p><p>2012-10-03 19:59:59.109375 [Record(27)]: subch:0 set pmt grabber pmt:100 sid:1 </p><p>2012-10-03 19:59:59.218750 [(19)]: HDPVR: OnPMTReceived() subch:0 pid 0x100 </p><p>2012-10-03 19:59:59.234375 [Record(27)]: HDPVR: found PMT after 0.109375 seconds </p><p>2012-10-03 19:59:59.234375 [Record(27)]: HDPVR: PMT sid=0x1 pid=0x100 version=0x0 </p><p>2012-10-03 19:59:59.234375 [Record(27)]: Decode pmt </p><p>2012-10-03 19:59:59.234375 [Record(27)]: subch:0 SetMpegPidMapping </p><p>2012-10-03 19:59:59.234375 [Record(27)]: subch:0 pid:1001 pcr </p><p>2012-10-03 19:59:59.234375 [Record(27)]: subch:0 pid:100 pmt </p><p>2012-10-03 19:59:59.234375 [Record(27)]: subch:0 pid:1011 video type:H.264 </p><p>2012-10-03 19:59:59.234375 [Record(27)]: subch:0 map pid:1011 video type:H.264 </p><p>2012-10-03 19:59:59.234375 [Record(27)]: subch:0 pid:1100 audio lang: type:AAC </p><p>2012-10-03 19:59:59.234375 [Record(27)]: subch:0 map pid:1100 audio lang: type:AAC </p><p>2012-10-03 19:59:59.234375 [Record(27)]: card: Tuner locked: True </p><p>2012-10-03 19:59:59.234375 [Record(27)]: ************************************************** </p><p>2012-10-03 19:59:59.234375 [Record(27)]: ***** SIGNAL LEVEL: 100, SIGNAL QUALITY: 100 ***** </p><p>2012-10-03 19:59:59.234375 [Record(27)]: ************************************************** </p><p>2012-10-03 19:59:59.234375 [Record(27)]: card: tuned user: ForTheRecord27 subchannel: 0 </p><p>2012-10-03 19:59:59.234375 [Record(27)]: user:ForTheRecord27 add </p><p>2012-10-03 19:59:59.234375 [Record(27)]: TV3BlasterPlugin: Received TV Server Event "EndZapChannel" </p><p>2012-10-03 19:59:59.234375 [Record(27)]: TVServerXBMC: OnTvServerEvent: EndZapChannel </p><p>2012-10-03 19:59:59.250000 [Record(27)]: Recorder.start add audioVideoEventHandler </p><p>2012-10-03 19:59:59.250000 [Record(27)]: card: StartRecording 4 C:\Recorded\Movies\The Rum Diary\The Rum Diary.ts </p><p>2012-10-03 19:59:59.250000 [Record(27)]: StartRecording to C:\Recorded\Movies\The Rum Diary\The Rum Diary.ts </p><p>2012-10-03 19:59:59.250000 [Record(27)]: analog: Encoder mode setting to VariableBitRateAverage </p><p>2012-10-03 19:59:59.250000 [Record(27)]: analog: Encoder mode setTo FAILresult: -2147024865 </p><p>2012-10-03 19:59:59.250000 [Record(27)]: analog: Encoder BitRate setting to Low </p><p>2012-10-03 19:59:59.250000 [Record(27)]: analog: Encoder BitRate Min 100000 Max 20000000 Delta 100000 </p><p>2012-10-03 19:59:59.250000 [Record(27)]: analog: Range SetEncoder(BitRate) FAILresult: 0x8007001f </p><p>2012-10-03 19:59:59.250000 [Record(27)]: subch:0 StartRecord(C:\Recorded\Movies\The Rum Diary\The Rum Diary.ts) </p><p>2012-10-03 19:59:59.250000 [Record(27)]: subch:0-0 tswriter StartRecording... </p><p>2012-10-03 19:59:59.250000 [Record(27)]: SetRecorderPids </p><p>2012-10-03 19:59:59.250000 [Record(27)]: Set video / audio observer </p><p>2012-10-03 19:59:59.250000 [Record(27)]: HDPVR subch:0 Started recording </p><p>2012-10-03 19:59:59.250000 [Record(27)]: card: WaitForRecordingFile - waiting _eventAudio & _eventVideo </p><p>2012-10-03 19:59:59.281250 [GenericPCQueue(13)]: TV3BlasterPlugin: Received Message "BlastIR" </p><p>2012-10-03 19:59:59.281250 [GenericPCQueue(13)]: TV3BlasterPlugin: Blast successful </p><p>2012-10-03 19:59:59.296875 [(19)]: PID seen - type = Video </p><p>2012-10-03 19:59:59.296875 [(19)]: Recorder audioVideoEventHandler Video </p><p>2012-10-03 19:59:59.296875 [(19)]: PID seen - type = Audio </p><p>2012-10-03 19:59:59.296875 [(19)]: Recorder audioVideoEventHandler Audio </p><p>2012-10-03 19:59:59.296875 [Record(27)]: card: WaitForRecordingFile - video and audio are seen after 0.046875 seconds [/collapse]</p><p>Here we have a typical tuning process. TV Server:</p><p>1. Ensures that the Colossus is switched to receive video and audio from the correct physical inputs (eg. HDMI, component etc.).</p><p>2. Starts the stream from the Colossus.</p><p>3. Waits for PMT, which contains the details about which audio and video streams are present in the stream.</p><p>4. Tells TsWriter to start recording.</p><p>5. Waits until TsWriter sees video and audio.</p><p> </p><p>If you were timeshifting, at this point TV Server would tell MP (XBMC in your case) that the channel is tuned and timeshifting can be started.</p><p> </p><p>The blaster process is running in parallel to all of that, but it ends up completing after TV Server:</p><p>[collapse]2012-10-03 19:59:59.406250 [Record(27)]: RecordingThread [The Rum Diary]: Calling AddNewRecording() </p><p>2012-10-03 19:59:59.750000 [ProcessExternalChannel(12)]: TV3BlasterPlugin: ProcessExternalCommand("Blast: Digit 1|Default", 1, 1303) </p><p>2012-10-03 19:59:59.750000 [ProcessExternalChannel(12)]: TV3BlasterPlugin - BlastIR(): C:\Documents and Settings\All Users\Application Data\IR Server Suite\IR Commands\Digit 1.IR, Default </p><p>2012-10-03 20:00:00.203125 [GenericPCQueue(13)]: TV3BlasterPlugin: Received Message "BlastIR" </p><p>2012-10-03 20:00:00.203125 [GenericPCQueue(13)]: TV3BlasterPlugin: Blast successful </p><p>2012-10-03 20:00:00.453125 [ProcessExternalChannel(12)]: TV3BlasterPlugin: ProcessExternalCommand("Blast: Digit 3|Default", 3, 1303) </p><p>2012-10-03 20:00:00.453125 [ProcessExternalChannel(12)]: TV3BlasterPlugin - BlastIR(): C:\Documents and Settings\All Users\Application Data\IR Server Suite\IR Commands\Digit 3.IR, Default </p><p>2012-10-03 20:00:00.781250 [GenericPCQueue(13)]: TV3BlasterPlugin: Received Message "BlastIR" </p><p>2012-10-03 20:00:00.781250 [GenericPCQueue(13)]: TV3BlasterPlugin: Blast successful </p><p>2012-10-03 20:00:01.156250 [ProcessExternalChannel(12)]: TV3BlasterPlugin: ProcessExternalCommand("Blast: Digit 0|Default", 0, 1303) </p><p>2012-10-03 20:00:01.156250 [ProcessExternalChannel(12)]: TV3BlasterPlugin - BlastIR(): C:\Documents and Settings\All Users\Application Data\IR Server Suite\IR Commands\Digit 0.IR, Default </p><p>2012-10-03 20:00:01.406250 [GenericPCQueue(13)]: TV3BlasterPlugin: Received Message "BlastIR" </p><p>2012-10-03 20:00:01.406250 [GenericPCQueue(13)]: TV3BlasterPlugin: Blast successful </p><p>2012-10-03 20:00:01.843750 [ProcessExternalChannel(12)]: TV3BlasterPlugin: ProcessExternalCommand("Blast: Digit 3|Default", 3, 1303) </p><p>2012-10-03 20:00:01.843750 [ProcessExternalChannel(12)]: TV3BlasterPlugin - BlastIR(): C:\Documents and Settings\All Users\Application Data\IR Server Suite\IR Commands\Digit 3.IR, Default </p><p>2012-10-03 20:00:02.328125 [GenericPCQueue(13)]: TV3BlasterPlugin: Received Message "BlastIR" </p><p>2012-10-03 20:00:02.328125 [GenericPCQueue(13)]: TV3BlasterPlugin: Blast successful [/collapse]</p><p>Pretty standard for a blaster: send each of the digits in the channel number to the STB.</p><p> </p><p>A second or so later, the STB actually changes channel and TsWriter notices that the stream has changed. It notifies the TV Server:</p><p></p><p>[collapse]2012-10-03 20:00:02.390625 [(19)]: HDPVR: OnPMTReceived() subch:0 pid 0x100 </p><p>2012-10-03 20:00:02.390625 [(19)]: HDPVR: PMT sid=0x1 pid=0x100 version=0x1 </p><p>2012-10-03 20:00:02.390625 [(19)]: Decode pmt </p><p>2012-10-03 20:00:02.390625 [(19)]: subch:0 SetMpegPidMapping </p><p>2012-10-03 20:00:02.390625 [(19)]: subch:0 pid:1001 pcr </p><p>2012-10-03 20:00:02.390625 [(19)]: subch:0 pid:100 pmt </p><p>2012-10-03 20:00:02.390625 [(19)]: subch:0 pid:1011 video type:H.264 </p><p>2012-10-03 20:00:02.390625 [(19)]: subch:0 map pid:1011 video type:H.264 </p><p>2012-10-03 20:00:02.390625 [(19)]: subch:0 pid:1100 audio lang: type:AC3 </p><p>2012-10-03 20:00:02.390625 [(19)]: subch:0 map pid:1100 audio lang: type:AC3 </p><p>2012-10-03 20:00:02.390625 [(19)]: SetRecorderPids </p><p>2012-10-03 20:00:02.390625 [(19)]: PID seen - type = Audio </p><p>2012-10-03 20:00:02.406250 [(19)]: PID seen - type = Video [/collapse]</p><p>Note the change from AAC when the channel was originally "tuned" to AC3 audio, which is the actual audio type of the new channel.</p><p> </p><p>The blaster is actually still doing its thing at this point.</p><p> </p><p>[collapse][2012-10-03 20:00:02.546875 [ProcessExternalChannel(12)]: TV3BlasterPlugin: ProcessExternalCommand("Blast: Select|Default", -1, 1303) </p><p>2012-10-03 20:00:02.546875 [ProcessExternalChannel(12)]: TV3BlasterPlugin - BlastIR(): C:\Documents and Settings\All Users\Application Data\IR Server Suite\IR Commands\Select.IR, Default </p><p>2012-10-03 20:00:02.906250 [GenericPCQueue(13)]: TV3BlasterPlugin: Received Message "BlastIR" </p><p>2012-10-03 20:00:02.906250 [GenericPCQueue(13)]: TV3BlasterPlugin: Blast successful </p><p>2012-10-03 20:00:03.250000 [ProcessExternalChannel(12)]: TV3BlasterPlugin: ProcessExternalCommand("Blast: Select|Default", -1, 1303) </p><p>2012-10-03 20:00:03.250000 [ProcessExternalChannel(12)]: TV3BlasterPlugin - BlastIR(): C:\Documents and Settings\All Users\Application Data\IR Server Suite\IR Commands\Select.IR, Default </p><p>2012-10-03 20:00:03.484375 [GenericPCQueue(13)]: TV3BlasterPlugin: Received Message "BlastIR" </p><p>2012-10-03 20:00:03.484375 [GenericPCQueue(13)]: TV3BlasterPlugin: Blast successful[/collapse]</p><p> </p><p>Finally the blaster completes. Note again that TV Server doesn't know that the blaster is done now. It is logged, and that is it.</p><p> </p><p>...and that is tuning for you.</p><p> </p><p></p><p>TV Server (well TsWriter actually) does sense that the stream changes. TsWriter notifies the TV Server when this happens if (and only if) the stream types or PIDs change. In this case, the audio stream type changed from AAC -> AC3, so TV Server got a notification. However if the audio stream type hadn't changed, TsWriter wouldn't have notified TV Server at all... and that is essentially the crux of the problem that prevents me from saying "I can do that for you easy peasy".</p><p> </p><p>There are technical reasons why TsWriter ignores certain stream changes. In some places in the world, irrelevant stream changes occur every few seconds. If TsWriter notified TV Server about all of them it would cause disruptions in the stream - ie. stuttering.</p><p> </p><p></p><p>I could try to provide you and other HD-PVR and Colossus owners with a patch, but it would almost certainly never be included in our standard distribution because of the compatibility issues with broadcast TV in other countries mentioned above. <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite3" alt=":(" title="Frown :(" loading="lazy" data-shortname=":(" /></p><p> </p><p>mm</p></blockquote><p></p>
[QUOTE="mm1352000, post: 920922, member: 82144"] Hello again For the recording, there is probably not much you can do. I thought the Colossus had audio downmixing capabilities, but according to the screenshot -->[URL='https://forum.team-mediaportal.com/threads/plugin-idea.109527/']here[/URL]<-- I am mistaken. So your only solution would be at playback time, or post-processing the recordings. With MP, you can use codecs like ffdshow for post-processing to mix the channels as desired. That means your amp would not be receiving DD - it would receive LPCM... I think. [url]http://www.hack7mc.com/2009/02/simple-ffdshow-audio-settings.html[/url] I don't know if that kind of stuff is possible with XBMC given that the decoders are built in. It is a little complex because things don't happen sequentially when you use a blaster. Normally TV Server tunes, then starts the recording. With a blaster involved, you're "tuning" and blasting the commands at roughly the same time. There is no real guarantee of which will happen or finish first. I'll try to talk you through an example from the log files: [collapse]2012-10-03 19:59:59.015625 [Record(27)]: TV3BlasterPlugin: Received TV Server Event "StartZapChannel" 2012-10-03 19:59:59.031250 [Record(27)]: TV3BlasterPlugin: Analog channel input source "YRYBYInput1" 2012-10-03 19:59:59.031250 [Record(27)]: TV3BlasterPlugin: Tune request - Card: 4, Channel: 1303, 1303 MFUNHD 2012-10-03 19:59:59.031250 [ProcessExternalChannel(12)]: TV3BlasterPlugin: ProcessExternalCommand("Blast: Select|Default", -1, 1303) 2012-10-03 19:59:59.031250 [ProcessExternalChannel(12)]: TV3BlasterPlugin - BlastIR(): C:\Documents and Settings\All Users\Application Data\IR Server Suite\IR Commands\Select.IR, Default [/collapse] So first the blaster plugin is notified that TV Server is about to change channel. [B]It starts its own process[/B] or thread for actually sending the commands to the STB. In other words, TV Server doesn't wait for the commands to be sent. It carries on tuning. TV Server has nothing to do with the blaster process after this. It effectively forgets about it and carries on tuning... [collapse]2012-10-03 19:59:59.031250 [Record(27)]: TVServerXBMC: OnTvServerEvent: StartZapChannel 2012-10-03 19:59:59.031250 [Record(27)]: card: Tune 4 to 1303 MFUNHD 2012-10-03 19:59:59.046875 [Record(27)]: card: user: ForTheRecord27:4:-1 tune tv:1303 MFUNHD Freq:0 Channel:1303 Country:Canada Tuner:Cable Video:YRYBYInput1 Audio:SPDIFInput2 2012-10-03 19:59:59.046875 [Record(27)]: HDPVR: Tune:-1, tv:1303 MFUNHD Freq:0 Channel:1303 Country:Canada Tuner:Cable Video:YRYBYInput1 Audio:SPDIFInput2 2012-10-03 19:59:59.046875 [Record(27)]: HDPVR: GetNewSubChannel:0 #0 2012-10-03 19:59:59.062500 [Record(27)]: subch:0 OnBeforeTune 2012-10-03 19:59:59.062500 [Record(27)]: HDPVR: Tune 2012-10-03 19:59:59.062500 [Record(27)]: HDPVR: Tuned to channel 1303 MFUNHD 2012-10-03 19:59:59.062500 [Record(27)]: subch:0 OnAfterTune 2012-10-03 19:59:59.062500 [Record(27)]: subch:0 OnGraphStart 2012-10-03 19:59:59.062500 [Record(27)]: HDPVR: RunGraph 2012-10-03 19:59:59.109375 [Record(27)]: HDPVR: Graph running 2012-10-03 19:59:59.109375 [Record(27)]: subch:0 OnGraphStarted 2012-10-03 19:59:59.109375 [Record(27)]: subch:0 SetupPmtGrabber:pid 100 sid:1 2012-10-03 19:59:59.109375 [Record(27)]: subch:0 set pmt grabber pmt:100 sid:1 2012-10-03 19:59:59.218750 [(19)]: HDPVR: OnPMTReceived() subch:0 pid 0x100 2012-10-03 19:59:59.234375 [Record(27)]: HDPVR: found PMT after 0.109375 seconds 2012-10-03 19:59:59.234375 [Record(27)]: HDPVR: PMT sid=0x1 pid=0x100 version=0x0 2012-10-03 19:59:59.234375 [Record(27)]: Decode pmt 2012-10-03 19:59:59.234375 [Record(27)]: subch:0 SetMpegPidMapping 2012-10-03 19:59:59.234375 [Record(27)]: subch:0 pid:1001 pcr 2012-10-03 19:59:59.234375 [Record(27)]: subch:0 pid:100 pmt 2012-10-03 19:59:59.234375 [Record(27)]: subch:0 pid:1011 video type:H.264 2012-10-03 19:59:59.234375 [Record(27)]: subch:0 map pid:1011 video type:H.264 2012-10-03 19:59:59.234375 [Record(27)]: subch:0 pid:1100 audio lang: type:AAC 2012-10-03 19:59:59.234375 [Record(27)]: subch:0 map pid:1100 audio lang: type:AAC 2012-10-03 19:59:59.234375 [Record(27)]: card: Tuner locked: True 2012-10-03 19:59:59.234375 [Record(27)]: ************************************************** 2012-10-03 19:59:59.234375 [Record(27)]: ***** SIGNAL LEVEL: 100, SIGNAL QUALITY: 100 ***** 2012-10-03 19:59:59.234375 [Record(27)]: ************************************************** 2012-10-03 19:59:59.234375 [Record(27)]: card: tuned user: ForTheRecord27 subchannel: 0 2012-10-03 19:59:59.234375 [Record(27)]: user:ForTheRecord27 add 2012-10-03 19:59:59.234375 [Record(27)]: TV3BlasterPlugin: Received TV Server Event "EndZapChannel" 2012-10-03 19:59:59.234375 [Record(27)]: TVServerXBMC: OnTvServerEvent: EndZapChannel 2012-10-03 19:59:59.250000 [Record(27)]: Recorder.start add audioVideoEventHandler 2012-10-03 19:59:59.250000 [Record(27)]: card: StartRecording 4 C:\Recorded\Movies\The Rum Diary\The Rum Diary.ts 2012-10-03 19:59:59.250000 [Record(27)]: StartRecording to C:\Recorded\Movies\The Rum Diary\The Rum Diary.ts 2012-10-03 19:59:59.250000 [Record(27)]: analog: Encoder mode setting to VariableBitRateAverage 2012-10-03 19:59:59.250000 [Record(27)]: analog: Encoder mode setTo FAILresult: -2147024865 2012-10-03 19:59:59.250000 [Record(27)]: analog: Encoder BitRate setting to Low 2012-10-03 19:59:59.250000 [Record(27)]: analog: Encoder BitRate Min 100000 Max 20000000 Delta 100000 2012-10-03 19:59:59.250000 [Record(27)]: analog: Range SetEncoder(BitRate) FAILresult: 0x8007001f 2012-10-03 19:59:59.250000 [Record(27)]: subch:0 StartRecord(C:\Recorded\Movies\The Rum Diary\The Rum Diary.ts) 2012-10-03 19:59:59.250000 [Record(27)]: subch:0-0 tswriter StartRecording... 2012-10-03 19:59:59.250000 [Record(27)]: SetRecorderPids 2012-10-03 19:59:59.250000 [Record(27)]: Set video / audio observer 2012-10-03 19:59:59.250000 [Record(27)]: HDPVR subch:0 Started recording 2012-10-03 19:59:59.250000 [Record(27)]: card: WaitForRecordingFile - waiting _eventAudio & _eventVideo 2012-10-03 19:59:59.281250 [GenericPCQueue(13)]: TV3BlasterPlugin: Received Message "BlastIR" 2012-10-03 19:59:59.281250 [GenericPCQueue(13)]: TV3BlasterPlugin: Blast successful 2012-10-03 19:59:59.296875 [(19)]: PID seen - type = Video 2012-10-03 19:59:59.296875 [(19)]: Recorder audioVideoEventHandler Video 2012-10-03 19:59:59.296875 [(19)]: PID seen - type = Audio 2012-10-03 19:59:59.296875 [(19)]: Recorder audioVideoEventHandler Audio 2012-10-03 19:59:59.296875 [Record(27)]: card: WaitForRecordingFile - video and audio are seen after 0.046875 seconds [/collapse] Here we have a typical tuning process. TV Server: 1. Ensures that the Colossus is switched to receive video and audio from the correct physical inputs (eg. HDMI, component etc.). 2. Starts the stream from the Colossus. 3. Waits for PMT, which contains the details about which audio and video streams are present in the stream. 4. Tells TsWriter to start recording. 5. Waits until TsWriter sees video and audio. If you were timeshifting, at this point TV Server would tell MP (XBMC in your case) that the channel is tuned and timeshifting can be started. The blaster process is running in parallel to all of that, but it ends up completing after TV Server: [collapse]2012-10-03 19:59:59.406250 [Record(27)]: RecordingThread [The Rum Diary]: Calling AddNewRecording() 2012-10-03 19:59:59.750000 [ProcessExternalChannel(12)]: TV3BlasterPlugin: ProcessExternalCommand("Blast: Digit 1|Default", 1, 1303) 2012-10-03 19:59:59.750000 [ProcessExternalChannel(12)]: TV3BlasterPlugin - BlastIR(): C:\Documents and Settings\All Users\Application Data\IR Server Suite\IR Commands\Digit 1.IR, Default 2012-10-03 20:00:00.203125 [GenericPCQueue(13)]: TV3BlasterPlugin: Received Message "BlastIR" 2012-10-03 20:00:00.203125 [GenericPCQueue(13)]: TV3BlasterPlugin: Blast successful 2012-10-03 20:00:00.453125 [ProcessExternalChannel(12)]: TV3BlasterPlugin: ProcessExternalCommand("Blast: Digit 3|Default", 3, 1303) 2012-10-03 20:00:00.453125 [ProcessExternalChannel(12)]: TV3BlasterPlugin - BlastIR(): C:\Documents and Settings\All Users\Application Data\IR Server Suite\IR Commands\Digit 3.IR, Default 2012-10-03 20:00:00.781250 [GenericPCQueue(13)]: TV3BlasterPlugin: Received Message "BlastIR" 2012-10-03 20:00:00.781250 [GenericPCQueue(13)]: TV3BlasterPlugin: Blast successful 2012-10-03 20:00:01.156250 [ProcessExternalChannel(12)]: TV3BlasterPlugin: ProcessExternalCommand("Blast: Digit 0|Default", 0, 1303) 2012-10-03 20:00:01.156250 [ProcessExternalChannel(12)]: TV3BlasterPlugin - BlastIR(): C:\Documents and Settings\All Users\Application Data\IR Server Suite\IR Commands\Digit 0.IR, Default 2012-10-03 20:00:01.406250 [GenericPCQueue(13)]: TV3BlasterPlugin: Received Message "BlastIR" 2012-10-03 20:00:01.406250 [GenericPCQueue(13)]: TV3BlasterPlugin: Blast successful 2012-10-03 20:00:01.843750 [ProcessExternalChannel(12)]: TV3BlasterPlugin: ProcessExternalCommand("Blast: Digit 3|Default", 3, 1303) 2012-10-03 20:00:01.843750 [ProcessExternalChannel(12)]: TV3BlasterPlugin - BlastIR(): C:\Documents and Settings\All Users\Application Data\IR Server Suite\IR Commands\Digit 3.IR, Default 2012-10-03 20:00:02.328125 [GenericPCQueue(13)]: TV3BlasterPlugin: Received Message "BlastIR" 2012-10-03 20:00:02.328125 [GenericPCQueue(13)]: TV3BlasterPlugin: Blast successful [/collapse] Pretty standard for a blaster: send each of the digits in the channel number to the STB. A second or so later, the STB actually changes channel and TsWriter notices that the stream has changed. It notifies the TV Server: [collapse]2012-10-03 20:00:02.390625 [(19)]: HDPVR: OnPMTReceived() subch:0 pid 0x100 2012-10-03 20:00:02.390625 [(19)]: HDPVR: PMT sid=0x1 pid=0x100 version=0x1 2012-10-03 20:00:02.390625 [(19)]: Decode pmt 2012-10-03 20:00:02.390625 [(19)]: subch:0 SetMpegPidMapping 2012-10-03 20:00:02.390625 [(19)]: subch:0 pid:1001 pcr 2012-10-03 20:00:02.390625 [(19)]: subch:0 pid:100 pmt 2012-10-03 20:00:02.390625 [(19)]: subch:0 pid:1011 video type:H.264 2012-10-03 20:00:02.390625 [(19)]: subch:0 map pid:1011 video type:H.264 2012-10-03 20:00:02.390625 [(19)]: subch:0 pid:1100 audio lang: type:AC3 2012-10-03 20:00:02.390625 [(19)]: subch:0 map pid:1100 audio lang: type:AC3 2012-10-03 20:00:02.390625 [(19)]: SetRecorderPids 2012-10-03 20:00:02.390625 [(19)]: PID seen - type = Audio 2012-10-03 20:00:02.406250 [(19)]: PID seen - type = Video [/collapse] Note the change from AAC when the channel was originally "tuned" to AC3 audio, which is the actual audio type of the new channel. The blaster is actually still doing its thing at this point. [collapse][2012-10-03 20:00:02.546875 [ProcessExternalChannel(12)]: TV3BlasterPlugin: ProcessExternalCommand("Blast: Select|Default", -1, 1303) 2012-10-03 20:00:02.546875 [ProcessExternalChannel(12)]: TV3BlasterPlugin - BlastIR(): C:\Documents and Settings\All Users\Application Data\IR Server Suite\IR Commands\Select.IR, Default 2012-10-03 20:00:02.906250 [GenericPCQueue(13)]: TV3BlasterPlugin: Received Message "BlastIR" 2012-10-03 20:00:02.906250 [GenericPCQueue(13)]: TV3BlasterPlugin: Blast successful 2012-10-03 20:00:03.250000 [ProcessExternalChannel(12)]: TV3BlasterPlugin: ProcessExternalCommand("Blast: Select|Default", -1, 1303) 2012-10-03 20:00:03.250000 [ProcessExternalChannel(12)]: TV3BlasterPlugin - BlastIR(): C:\Documents and Settings\All Users\Application Data\IR Server Suite\IR Commands\Select.IR, Default 2012-10-03 20:00:03.484375 [GenericPCQueue(13)]: TV3BlasterPlugin: Received Message "BlastIR" 2012-10-03 20:00:03.484375 [GenericPCQueue(13)]: TV3BlasterPlugin: Blast successful[/collapse] Finally the blaster completes. Note again that TV Server doesn't know that the blaster is done now. It is logged, and that is it. ...and that is tuning for you. TV Server (well TsWriter actually) does sense that the stream changes. TsWriter notifies the TV Server when this happens if (and only if) the stream types or PIDs change. In this case, the audio stream type changed from AAC -> AC3, so TV Server got a notification. However if the audio stream type hadn't changed, TsWriter wouldn't have notified TV Server at all... and that is essentially the crux of the problem that prevents me from saying "I can do that for you easy peasy". There are technical reasons why TsWriter ignores certain stream changes. In some places in the world, irrelevant stream changes occur every few seconds. If TsWriter notified TV Server about all of them it would cause disruptions in the stream - ie. stuttering. I could try to provide you and other HD-PVR and Colossus owners with a patch, but it would almost certainly never be included in our standard distribution because of the compatibility issues with broadcast TV in other countries mentioned above. :( mm [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 1
MediaPortal 1 Talk
Hauppauge HD-PVR & Colossus Support
Contact us
RSS
Top
Bottom