[mythtv] [mythtv-commits] mythtv commit: r11521 by danielk

Dwayne B. dab at dab-tech.com
Sat Oct 14 15:34:03 UTC 2006


On 15:12 Sat 14 Oct     , mythtv at cvs.mythtv.org wrote:
>       Author: danielk
>         Date: 2006-10-14 15:12:42 +0000 (Sat, 14 Oct 2006)
> New Revision: 11521
>    Changeset: http://cvs.mythtv.org/trac/changeset/11521
> 
> Modified:
> 
>    trunk/mythtv/libs/libmythtv/hdhrchannel.cpp
>    trunk/mythtv/libs/libmythtv/hdhrrecorder.cpp
>    trunk/mythtv/libs/libmythtv/hdhrrecorder.h
> 
> Log:
> 
> Fixes #2541. Allows tuning raw MPEG channels in HDHRRecorder.
> 
> The HDHomeRun recorder classes were originally based off the HDTVRecorder (at least partially). The HDHRRecorder only tunes ATSC streams. Since most cable operators have many channels which do not contain ATSC info this means that QAM tuning is only likely to work with HDTV channels, assuming the cable operator is obeying the law (a big assumption in some markets). This copies over some of the pertinent bits of code from the DVBRecorder to the HDHRRecorder, and makes hdhrchannel look at the MPEG Program Number if the ATSC channel info is missing.
> 
> The change is based on the patch submitted by jwestfall.
> 
> 
> 
> 
> _______________________________________________
> mythtv-commits mailing list
> mythtv-commits at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-commits

This patch still seems to not quite work for me, I have attached a log
from attempting to schedule a program on a qam256 local unencrypted HD
broadcast channel.  My provider is RCN/Chicago.  This gets a lot closer
for me, the LED for Tuner 1 (the tuner I'm using for qam256) on the
hdhomerun lights up and stays lit, but I end up with a zero byte
recording.  It seems that the PMT was not set correctly, from these
lines in the log:

2006-10-14 10:13:45.074 HDHRRec(8): SetPMT(2602)
2006-10-14 10:13:45.079 HDHRRec(8): Resetting Demux Filters
2006-10-14 10:13:45.080 HDHRRec(8): AdjustFilters() no pmt or no pat

But further up in the log it looks like some other part of the code sees
2602 correctly:

2006-10-14 10:13:44.441 CreatePATSingleProgram()
2006-10-14 10:13:44.443 PAT in input stream
2006-10-14 10:13:44.444 Program Association Table
 PSIP tableID(0x0) length(17) extension(0xe)
      version(1) current(1) section(0) last_section(0)
         tsid: 14
 programCount: 2
  program number 2601 has PID 0x  50   data  0x10 0x41 0x224 0x80
  program number 2602 has PID 0x  30   data  0x10 0x42 0x224 0x48

Thanks for fixing this looking into and fixing the problem jwestfall and
danielk, it's much appreaciated.

--Dwayne


-------------- next part --------------
2006-10-14 10:12:54.148 Using runtime prefix = /usr
2006-10-14 10:12:54.251 New DB connection, total: 1
2006-10-14 10:12:54.258 Connected to database 'mythconverg' at host: localhost
2006-10-14 10:12:54.267 Current Schema Version: 1163
Starting up as the master server.
2006-10-14 10:12:54.283 New DB connection, total: 2
2006-10-14 10:12:54.285 Connected to database 'mythconverg' at host: localhost
2006-10-14 10:12:54.287 mythbackend: MythBackend started as master server
2006-10-14 10:12:54.309 EITHelper: localtime offset -5:00:00 
2006-10-14 10:12:54.320 DVBChan(0): Opening DVB channel
2006-10-14 10:12:54.322 DVBChan(0): Using DVB card 0, with frontend 'Nextwave NXT200X VSB/QAM frontend'.
2006-10-14 10:12:54.335 New DB connection, total: 3
2006-10-14 10:12:54.342 Connected to database 'mythconverg' at host: localhost
2006-10-14 10:12:54.372 ChannelBase(1): Input #1: 'DVBInput' schan(510) sourceid(3) ccid(1)
2006-10-14 10:12:54.373 ChannelBase(1): Current Input #1: 'DVBInput'
2006-10-14 10:12:54.375 DVBChan(0): SetChannelByString(510): 
2006-10-14 10:12:54.381 DVBChan(0): Frequency: 693000000 Modulation: QPSK
2006-10-14 10:12:54.383 DVBChan(0): Old Params: Frequency: 0 Modulation: QPSK
			DVBChan(0): New Params: Frequency: 693000000 Modulation: QPSK
2006-10-14 10:12:54.391 DVBChan(0): Tune(): Tuning to 693000000Hz
2006-10-14 10:12:54.400 dvbchannel.cpp:wait_for_backend: Status: 
2006-10-14 10:12:54.408 DVBChan(0): Tune(): Frequency tuning successful.
2006-10-14 10:12:54.416 DVBChan(0): SetChannelByString(510): Tuned to frequency.
2006-10-14 10:12:54.424 DVBChan(0): Closing DVB channel
2006-10-14 10:12:54.450 TVRec(1): SetFlags(RunMainLoop,) -> RunMainLoop,
2006-10-14 10:12:54.451 TVRec(1): ClearFlags(ExitPlayer,FinishRecording,) -> RunMainLoop,
2006-10-14 10:12:54.453 EITHelper: localtime offset -5:00:00 
2006-10-14 10:12:54.475 ChannelBase(4): Input #4: 'MPEG2TS' schan(571) sourceid(4) ccid(4)
2006-10-14 10:12:54.477 ChannelBase(4): Current Input #4: 'MPEG2TS'
2006-10-14 10:12:54.478 FireChan: Allocated raw1394 handle for port 0
2006-10-14 10:12:54.493 FireChan: Requesting STB Power State (cmd: 0x1ffb27f)
2006-10-14 10:12:54.496 FireChan: STB Power State: ON (0xcffb270)
2006-10-14 10:12:54.497 FireChan: Channel1: 571 cmds: 0x487c25, 0x487c27, 0x487c21
2006-10-14 10:12:56.016 TVRec(4): SetFlags(RunMainLoop,) -> RunMainLoop,
2006-10-14 10:12:56.064 TVRec(4): ClearFlags(ExitPlayer,FinishRecording,) -> RunMainLoop,
2006-10-14 10:12:56.083 EITHelper: localtime offset -5:00:00 
2006-10-14 10:12:56.097 HDHRChan(101002a0/0): device found at address 192.168.0.57
2006-10-14 10:12:56.108 ChannelBase(5): Input #5: 'MPEG2TS' schan(32-1) sourceid(5) ccid(5)
2006-10-14 10:12:56.110 ChannelBase(5): Current Input #5: 'MPEG2TS'
2006-10-14 10:12:56.111 HDHRChan(101002a0/0): Successfully connected to device
2006-10-14 10:12:56.112 HDHRChan(101002a0/0): SetChannelByString(32-1)
2006-10-14 10:12:56.115 ChannelBase(101002a0/0)::SetCachedATSCInfo(): 0--1
2006-10-14 10:12:56.119 HDHRChan(101002a0/0): TuneTo(575000000,8vsb)
2006-10-14 10:12:56.122 ChannelBase(101002a0/0)::SetCachedATSCInfo(32_1): 32_1
2006-10-14 10:12:56.126 TVRec(5): SetFlags(RunMainLoop,) -> RunMainLoop,
2006-10-14 10:12:56.127 TVRec(5): ClearFlags(ExitPlayer,FinishRecording,) -> RunMainLoop,
2006-10-14 10:12:56.129 EITHelper: localtime offset -5:00:00 
2006-10-14 10:12:56.136 HDHRChan(101002a0/1): device found at address 192.168.0.57
2006-10-14 10:12:56.161 ChannelBase(8): Input #7: 'MPEG2TS' schan(510) sourceid(3) ccid(8)
2006-10-14 10:12:56.164 ChannelBase(8): Current Input #7: 'MPEG2TS'
2006-10-14 10:12:56.165 HDHRChan(101002a0/1): Successfully connected to device
2006-10-14 10:12:56.167 HDHRChan(101002a0/1): SetChannelByString(510)
2006-10-14 10:12:56.169 ChannelBase(101002a0/1)::SetCachedATSCInfo(): 0--1
2006-10-14 10:12:56.173 HDHRChan(101002a0/1): TuneTo(693000000,qam_256)
2006-10-14 10:12:56.184 ChannelBase(101002a0/1)::SetCachedATSCInfo(0-2602): 0-2602
2006-10-14 10:12:56.194 TVRec(8): SetFlags(RunMainLoop,) -> RunMainLoop,
2006-10-14 10:12:56.196 TVRec(8): ClearFlags(ExitPlayer,FinishRecording,) -> RunMainLoop,
2006-10-14 10:12:56.199 New DB scheduler connection
2006-10-14 10:12:56.201 Connected to database 'mythconverg' at host: localhost
rcndig is defined, but isn't attached to a cardinput.
rcnang is defined, but isn't attached to a cardinput.
testqamhdhr is defined, but isn't attached to a cardinput.
2006-10-14 10:12:56.230 Main::Starting HttpServer
2006-10-14 10:12:56.247 Main::Registering HttpStatus Extension
2006-10-14 10:12:56.268 mythbackend version: 0.20.20061004-2 www.mythtv.org
2006-10-14 10:12:56.275 Enabled verbose msgs:  important general record channel siparser
2006-10-14 10:12:56.276 AutoExpire: Found 4 recorders w/max rate of 421 MiB/min
2006-10-14 10:12:56.279 AutoExpire: Required Free Space: 4.3 GB w/freq: 5 min
2006-10-14 10:12:58.313 Reschedule requested for id -1.
2006-10-14 10:13:01.635 Scheduled 827 items in 3.3 = 0.72 match + 2.58 place
2006-10-14 10:13:01.643 scheduler: Scheduled items: Scheduled 827 items in 3.3 = 0.72 match + 2.58 place
2006-10-14 10:13:01.652 Seem to be woken up by USER
2006-10-14 10:13:04.302 mythbackend: Running housekeeping thread
2006-10-14 10:13:20.665 MainServer::HandleAnnounce Monitor
2006-10-14 10:13:20.666 adding: corleone as a client (events: 0)
2006-10-14 10:13:33.381 MainServer::HandleAnnounce Monitor
2006-10-14 10:13:33.382 adding: corleone as a client (events: 0)
2006-10-14 10:13:39.244 MainServer::HandleAnnounce Monitor
2006-10-14 10:13:39.246 adding: corleone as a client (events: 0)
2006-10-14 10:13:40.574 Reschedule requested for id 1100.
2006-10-14 10:13:43.917 Scheduled 828 items in 3.3 = 0.61 match + 2.71 place
2006-10-14 10:13:43.925 scheduler: Scheduled items: Scheduled 828 items in 3.3 = 0.61 match + 2.71 place
2006-10-14 10:13:43.938 TVRec(8): StartRecording(Trollz)
2006-10-14 10:13:43.945 TVRec(8): ClearFlags(AskAllowRecording,) -> RunMainLoop,
2006-10-14 10:13:44.039 TVRec(8): StartedRecording(0x8624a80) fn(/mnt/storage/3505_20061014101400.mpg)
2006-10-14 10:13:44.043 TVRec(8): ClearFlags(CancelNextRecording,) -> RunMainLoop,
2006-10-14 10:13:44.044 TVRec(8): Changing from None to RecordingOnly
2006-10-14 10:13:44.046 TVRec(8): ClearFlags(FrontendReady,CancelNextRecording,) -> RunMainLoop,
2006-10-14 10:13:44.047 TVRec(8): SetFlags(AskAllowRecording,) -> RunMainLoop,AskAllowRecording,
2006-10-14 10:13:44.048 TVRec(8): Request: Program(yes) channel() input() flags(Recording,)
2006-10-14 10:13:44.052 TVRec(8): HW Tuner: 8->8
2006-10-14 10:13:44.053 TVRec(8): ClearFlags(PENDINGACTIONS,) -> RunMainLoop,AskAllowRecording,
2006-10-14 10:13:44.054 HDHRChan(101002a0/1): SetChannelByString(510)
2006-10-14 10:13:44.057 ChannelBase(101002a0/1)::SetCachedATSCInfo(): 0--1
2006-10-14 10:13:44.061 HDHRChan(101002a0/1): TuneTo(693000000,qam_256)
2006-10-14 10:13:44.063 ChannelBase(101002a0/1)::SetCachedATSCInfo(0-2602): 0-2602
2006-10-14 10:13:44.065 TVRec(8): Starting Signal Monitor
2006-10-14 10:13:44.066 TVRec(8): SetupSignalMonitor(1, 0)
2006-10-14 10:13:44.068 HDHRSM(101002a0/1): ctor
2006-10-14 10:13:44.069 DelAllPID()
2006-10-14 10:13:44.070 Filter: ''
				'0x0000-0x1fff'
2006-10-14 10:13:44.071 SM(101002a0/1)::AddFlags: Seen() Match() Wait(Sig,)
2006-10-14 10:13:44.073 TVRec(8): Signal monitor successfully created
2006-10-14 10:13:44.074 TVRec(8): Setting up table monitoring.
2006-10-14 10:13:44.075 TVRec(8): MPEG program number: 2602
2006-10-14 10:13:44.078 DTVSM(101002a0/1)::SetProgramNumber(2602): 
2006-10-14 10:13:44.079 SM(101002a0/1)::RemoveFlags: Seen(PMT,) Match(PMT,) Wait()
2006-10-14 10:13:44.080 SM(101002a0/1)::AddFlags: Seen() Match() Wait(PMT,)
2006-10-14 10:13:44.082 SM(101002a0/1)::AddFlags: Seen() Match() Wait(PAT,PMT,)
2006-10-14 10:13:44.083 SM(101002a0/1)::AddFlags: Seen() Match() Wait()
2006-10-14 10:13:44.084 TVRec(8): Successfully set up MPEG table monitoring.
2006-10-14 10:13:44.085 SM(101002a0/1)::Start: begin
2006-10-14 10:13:44.101 HDHRSM(101002a0/1): UpdateValues() -- Waiting for table monitor to start
2006-10-14 10:13:44.102 HDHRSM(101002a0/1): UpdateValues() -- Table monitor started
2006-10-14 10:13:44.110 HDHRSM(101002a0/1): RunTableMonitor(): begin (# of pids 1)
2006-10-14 10:13:44.112 AddPID(0x0)
2006-10-14 10:13:44.112 SM(101002a0/1)::Start: end
2006-10-14 10:13:44.115 TVRec(8): SetFlags(SignalMonitorRunning,) -> RunMainLoop,AskAllowRecording,SignalMonitorRunning,
2006-10-14 10:13:44.116 TVRec(8): ClearFlags(WaitingForSignal,) -> RunMainLoop,AskAllowRecording,SignalMonitorRunning,
2006-10-14 10:13:44.117 TVRec(8): SetFlags(WaitingForSignal,) -> RunMainLoop,AskAllowRecording,WaitingForSignal,SignalMonitorRunning,
2006-10-14 10:13:44.118 TVRec(8): ClearFlags(NeedToStartRecorder,) -> RunMainLoop,AskAllowRecording,WaitingForSignal,SignalMonitorRunning,
2006-10-14 10:13:44.119 TVRec(8): SetFlags(NeedToStartRecorder,) -> RunMainLoop,AskAllowRecording,WaitingForSignal,NeedToStartRecorder,SignalMonitorRunning,
2006-10-14 10:13:44.115 Filter: '0x0000'
2006-10-14 10:13:44.145 Started recording: Trollz "Topaz Possessed": channel 3505 on cardid 8, sourceid 3
2006-10-14 10:13:44.154 scheduler: Started recording: Trollz "Topaz Possessed": channel 3505 on cardid 8, sourceid 3
2006-10-14 10:13:44.437 SM(101002a0/1)::AddFlags: Seen(PAT,) Match() Wait()
2006-10-14 10:13:44.439 SM(101002a0/1)::AddFlags: Seen() Match(PAT,) Wait()
2006-10-14 10:13:44.441 CreatePATSingleProgram()
2006-10-14 10:13:44.443 PAT in input stream
2006-10-14 10:13:44.444 Program Association Table
 PSIP tableID(0x0) length(17) extension(0xe)
      version(1) current(1) section(0) last_section(0)
         tsid: 14
 programCount: 2
  program number 2601 has PID 0x  50   data  0x10 0x41 0x224 0x80
  program number 2602 has PID 0x  30   data  0x10 0x42 0x224 0x48

2006-10-14 10:13:44.445 desired_program(2602) pid(0x30)
2006-10-14 10:13:44.446 pmt_pid(0x30)
2006-10-14 10:13:44.453 PAT for output stream
2006-10-14 10:13:44.454 Program Association Table
 PSIP tableID(0x0) length(13) extension(0xe)
      version(1) current(1) section(0) last_section(0)
         tsid: 14
 programCount: 1
  program number 1 has PID 0x  30   data  0x0 0x1 0x224 0x48

2006-10-14 10:13:44.455 AddPID(0x30)
2006-10-14 10:13:44.457 Filter: '0x0000 0x0030'
2006-10-14 10:13:44.837 SM(101002a0/1)::AddFlags: Seen(PMT,) Match() Wait()
2006-10-14 10:13:44.838 SM(101002a0/1)::AddFlags: Seen() Match(PMT,) Wait()
2006-10-14 10:13:44.853 CreatePMTSingleProgram()
2006-10-14 10:13:44.861 PMT in input stream
2006-10-14 10:13:44.869 Program Map Table ver(0) pid(0x30) pnum(2602) len(29)

 Stream #0 pid(0x31) type(video-mpeg2  0x2)
 Stream #1 pid(0x34) type(audio-ac3  0x129)
  ISO-639 Language: code(ENG) canonical(ENG) eng(Unknown)

2006-10-14 10:13:44.878 PMT for output stream
2006-10-14 10:13:44.886 Program Map Table ver(0) pid(0x30) pnum(1) len(23)

 Stream #0 pid(0x31) type(video-mpeg2  0x2)
 Stream #1 pid(0x34) type(audio-ac3  0x129)

2006-10-14 10:13:44.888 TVRec(8): Got good signal
2006-10-14 10:13:44.896 TVRec(8): TeardownSignalMonitor() -- begin
2006-10-14 10:13:44.897 HDHRSM(101002a0/1): Stop() -- begin
2006-10-14 10:13:44.898 SM(101002a0/1)::Stop: begin
2006-10-14 10:13:44.952 SM(101002a0/1)::Stop: end
2006-10-14 10:13:44.961 HDHRSM(101002a0/1): RunTableMonitor(): -- shutdown
2006-10-14 10:13:44.962 HDHRSM(101002a0/1): RunTableMonitor(): -- end
2006-10-14 10:13:44.969 HDHRSM(101002a0/1): Stop() -- end
2006-10-14 10:13:44.970 TVRec(8): TeardownSignalMonitor() -- end
2006-10-14 10:13:44.972 TVRec(8): ClearFlags(SignalMonitorRunning,) -> RunMainLoop,AskAllowRecording,WaitingForSignal,NeedToStartRecorder,
2006-10-14 10:13:44.973 TVRec(8): ClearFlags(WaitingForSignal,) -> RunMainLoop,AskAllowRecording,NeedToStartRecorder,
2006-10-14 10:13:44.975 TVRec(8): Starting Recorder
2006-10-14 10:13:44.984 Using profile 'Default' to record
2006-10-14 10:13:45.037 RecBase(8): SetRingBuffer(0x82a70d0) '/mnt/storage/3505_20061014101400.mpg'
2006-10-14 10:13:45.039 RecBase(8): SetRecording(0x8624a80) title(Trollz)
2006-10-14 10:13:45.061 HDHRRec(8): StartRecording -- begin
2006-10-14 10:13:45.062 HDHRRec(8): Open()
2006-10-14 10:13:45.070 HDHRRec(8): StartData()
2006-10-14 10:13:45.071 HDHRRec(8): SetPAT(): Ignoring PAT not containing our desired program...
2006-10-14 10:13:45.072 TVRec(8): SetFlags(RecorderRunning,RingBufferReady,) -> RunMainLoop,AskAllowRecording,NeedToStartRecorder,RecorderRunning,RingBufferReady,
2006-10-14 10:13:45.075 TVRec(8): ClearFlags(NeedToStartRecorder,) -> RunMainLoop,AskAllowRecording,RecorderRunning,RingBufferReady,
2006-10-14 10:13:45.074 HDHRRec(8): SetPMT(2602)
2006-10-14 10:13:45.079 HDHRRec(8): Resetting Demux Filters
2006-10-14 10:13:45.080 HDHRRec(8): AdjustFilters() no pmt or no pat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20061014/69c0ef7b/attachment.pgp 


More information about the mythtv-dev mailing list