Ticket #2541: hdhr-qam256.diff

File hdhr-qam256.diff, 3.3 KB (added by jwestfall, 18 years ago)
  • libs/libmythtv/hdhrchannel.cpp

     
    389389    if (atsc_major || atsc_minor)
    390390        SetCachedATSCInfo(QString("%1_%2").arg(atsc_major).arg(atsc_minor));
    391391    else
    392         SetCachedATSCInfo(QString("%1_0").arg(channum));
     392        SetCachedATSCInfo(QString("0-%1").arg(mpeg_prog_num));
    393393
    394394    // Set this as the future start channel for this source
    395395    inputs[currentInputID]->startChanNum = curchannelname;
  • libs/libmythtv/hdhrrecorder.cpp

     
    151151    }
    152152}
    153153
    154 void HDHRRecorder::SetStreamData(MPEGStreamData *xdata)
     154void HDHRRecorder::SetStreamData(MPEGStreamData *data)
    155155{
    156     ATSCStreamData *data = dynamic_cast<ATSCStreamData*>(xdata);
    157     VERBOSE(VB_IMPORTANT, LOC + "SetStreamData(xdata: "<<xdata<<") "<<data);
    158 
    159156    if (data == _stream_data)
    160157        return;
    161158
    162     ATSCStreamData *old_data = _stream_data;
     159    MPEGStreamData *old_data = _stream_data;
    163160    _stream_data = data;
    164161    if (old_data)
    165162        delete old_data;
     
    168165    {
    169166        data->AddMPEGSPListener(this);
    170167        data->AddMPEGListener(this);
    171         data->SetDesiredChannel(data->DesiredMajorChannel(),
    172                                 data->DesiredMinorChannel());
     168
     169        ATSCStreamData *atsc = GetATSCStreamData();
     170        if (atsc)
     171            atsc->SetDesiredChannel(atsc->DesiredMajorChannel(),
     172                                atsc->DesiredMinorChannel());
    173173    }
    174174}
    175175
    176 MPEGStreamData *HDHRRecorder::GetStreamData(void)
     176ATSCStreamData *HDHRRecorder::GetATSCStreamData(void)
    177177{
    178     return _stream_data;
     178    return dynamic_cast<ATSCStreamData*>(_stream_data);
    179179}
    180180
    181181void HDHRRecorder::HandlePAT(const ProgramAssociationTable *_pat)
     
    319319        return;
    320320    }
    321321
     322    if (_stream_data->PATSingleProgram())
     323        HandlePAT(_stream_data->PATSingleProgram());
     324    if (_stream_data->PMTSingleProgram())
     325        HandlePMT(_stream_data->DesiredProgram(),
     326                  _stream_data->PMTSingleProgram());
     327
    322328    hdhomerun_video_flush(_video_socket);
    323329    while (_request_recording && !_error)
    324330    {
  • libs/libmythtv/hdhrrecorder.h

     
    3939    void StartRecording(void);
    4040
    4141    void SetStreamData(MPEGStreamData*);
    42     MPEGStreamData *GetStreamData(void);
    43     ATSCStreamData *GetATSCStreamData(void) { return _stream_data; }
     42    MPEGStreamData *GetStreamData(void) { return _stream_data; }
     43    ATSCStreamData *GetATSCStreamData(void);
    4444
    4545    // MPEG Stream Listener
    4646    void HandlePAT(const ProgramAssociationTable*);
     
    6969  private:
    7070    HDHRChannel                   *_channel;
    7171    struct hdhomerun_video_sock_t *_video_socket;
    72     ATSCStreamData                *_stream_data;
     72    MPEGStreamData                *_stream_data;
    7373
    7474    ProgramAssociationTable       *_input_pat;
    7575    ProgramMapTable               *_input_pmt;