Index: libs/libmythtv/decoderbase.h =================================================================== --- libs/libmythtv/decoderbase.h (revision 27238) +++ libs/libmythtv/decoderbase.h (working copy) @@ -191,6 +192,7 @@ virtual void SetTeletextDecoderViewer(TeletextViewer*) {;} virtual QString GetXDS(const QString&) const { return QString::null; } + virtual QString GetSubHeader(uint trackNo) const { return QString::null; } // MHEG/MHI stuff virtual bool SetAudioByComponentTag(int) { return false; } Index: libs/libmythtv/avformatdecoder.cpp =================================================================== --- libs/libmythtv/avformatdecoder.cpp (revision 27238) +++ libs/libmythtv/avformatdecoder.cpp (working copy) @@ -3603,6 +3618,15 @@ return ccd608->GetXDS(key); } +QString AvFormatDecoder::GetSubHeader(uint trackNo) const +{ + if (trackNo >= tracks[kTrackTypeSubtitle].size()) + return QString::null; + + return QString(QByteArray((char *)ic->streams[tracks[kTrackTypeSubtitle][trackNo].av_stream_index]->codec->subtitle_header, + ic->streams[tracks[kTrackTypeSubtitle][trackNo].av_stream_index]->codec->subtitle_header_size)); +} + bool AvFormatDecoder::SetAudioByComponentTag(int tag) { for (uint i = 0; i < tracks[kTrackTypeAudio].size(); i++) Index: libs/libmythtv/avformatdecoder.h =================================================================== --- libs/libmythtv/avformatdecoder.h (revision 27238) +++ libs/libmythtv/avformatdecoder.h (working copy) @@ -160,6 +161,7 @@ virtual void SetTeletextDecoderViewer(TeletextViewer*); virtual QString GetXDS(const QString&) const; + virtual QString GetSubHeader(uint trackNo) const; // MHEG stuff virtual bool SetAudioByComponentTag(int tag);