Ticket #5469: dvd-stillframe-fix.diff
File dvd-stillframe-fix.diff, 1.5 KB (added by , 15 years ago) |
---|
-
mythtv/libs/libmythtv/NuppelVideoPlayer.cpp
577 577 prebuffering = prebuffer; 578 578 if (audioOutput && !paused) 579 579 { 580 if (prebuffering) 581 audioOutput->Pause(prebuffering); 580 audioOutput->Pause(prebuffering); 582 581 audio_paused = prebuffering; 583 582 } 584 583 } -
mythtv/libs/libmyth/audiooutputbase.cpp
1323 1323 // Wait for all data to finish playing 1324 1324 void AudioOutputBase::Drain() 1325 1325 { 1326 while (audiolen(true) > fragment_size) 1326 int lastlen = 0; 1327 int iter = 60; 1328 int curlen; 1329 1330 while (audiolen(true) > fragment_size && iter) 1327 1331 { 1328 1332 usleep(1000); 1333 1334 curlen = audiolen(true); 1335 1336 if (curlen == lastlen) 1337 { 1338 iter--; 1339 } 1340 else 1341 { 1342 lastlen = curlen; 1343 iter = 60; 1344 } 1345 1329 1346 } 1347 1348 if (iter <= 0) 1349 { 1350 VERBOSE(VB_AUDIO, LOC + QString("Drain: audiolen = %1, fragment = %2, paused = %3") 1351 .arg(curlen).arg(fragment_size).arg(pauseaudio)); 1352 } 1330 1353 } 1331 1354 1332 1355 void *AudioOutputBase::kickoffOutputAudioLoop(void *player)