void AvFormatDecoderDVD::StreamChangeCheck(void) { if (!ringBuffer->IsDVD()) return; // Update the title length if (m_parent->AtNormalSpeed() && ringBuffer->DVD()->PGCLengthChanged()) { ResetPosMap(); SyncPositionMap(); UpdateFramesPlayed(); } // rescan the non-video streams as necessary if (ringBuffer->DVD()->AudioStreamsChanged()) ScanStreams(true); // Always use the first video stream // (must come after ScanStreams above) for (uint i = 0; i < ic->nb_streams; i++) { AVStream *st = ic->streams[i]; if (st && st->codec->codec_type == AVMEDIA_TYPE_VIDEO) { selectedTrack[kTrackTypeVideo].av_stream_index = i; break; } } }
void AvFormatDecoderDVD::StreamChangeCheck(void) { if (!ringBuffer->IsDVD()) return; // Update the title length if (m_parent->AtNormalSpeed() && ringBuffer->DVD()->PGCLengthChanged()) { ResetPosMap(); SyncPositionMap(); UpdateFramesPlayed(); } // rescan the non-video streams as necessary if (ringBuffer->DVD()->AudioStreamsChanged()) ScanStreams(true); // Always use the first video stream // (must come after ScanStreams above) selectedTrack[kTrackTypeVideo].av_stream_index = 0; }