This new patch should solve the audio problem. If people tell me if it works I will recode it to be more nicely written as currently it is very hacky.
--
Charlie Brej
APT Group, Dept. Computer Science, University of Manchester
Web: http://www.cs.man.ac.uk/~brejc8/ Tel: +44 161 275 6844
Mail: IT302, Manchester University, Manchester, M13 9PL, UK
Index: libs/libmythtv/siparser.cpp =================================================================== RCS file: /var/lib/mythcvs/mythtv/libs/libmythtv/siparser.cpp,v retrieving revision 1.15 diff -u -3 -p -r1.15 siparser.cpp --- libs/libmythtv/siparser.cpp 10 Apr 2005 04:55:47 -0000 1.15 +++ libs/libmythtv/siparser.cpp 14 Apr 2005 10:35:16 -0000 @@ -657,6 +657,7 @@ void SIParser::ParsePMT(tablehead_t* hea if (Table[PMT]->AddSection(head,head->table_id_ext,0)) return; + int Video_taken=0; SIPARSER(QString("PMT ServiceID: %1 Version = %2").arg(head->table_id_ext).arg(head->version)); @@ -724,6 +725,17 @@ void SIParser::ParsePMT(tablehead_t* hea case 0x04: e.Type = ES_TYPE_AUDIO_MPEG2; break; + case 0x06: + if (!Video_taken) + { + e.Type = ES_TYPE_VIDEO_MPEG2; + Video_taken=1; + } + else + { + e.Type = ES_TYPE_AUDIO_MPEG2; + } + break; case 0x08: case 0x0B: e.Type = ES_TYPE_DATA; @@ -781,6 +793,7 @@ void SIParser::ParsePMT(tablehead_t* hea case 0x59: // Subtitling Descriptor ParseDescriptorSubtitling(descriptor, descriptor_len); + if (e.Type == ES_TYPE_VIDEO_MPEG1) Video_taken=0; e.Type = ES_TYPE_SUBTITLE; break; @@ -806,6 +819,7 @@ void SIParser::ParsePMT(tablehead_t* hea break; case ES_TYPE_VIDEO_MPEG2: e.Description = QString("MPEG-2 Video"); + if (e.Orig_Type == 0x06) p.PCRPID = e.PID; p.hasVideo = true; break; case ES_TYPE_AUDIO_MPEG1:
_______________________________________________ mythtv-dev mailing list mythtv-dev@mythtv.org http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev