X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Faudioodevice.C;h=e4f2cd01c67cd7c08a756a51b5f27679b0979bfd;hb=9e3d90a964c0fbe97c0b58235336a47111932d5d;hp=2beb4c8c69de58570712671ca5afab572c782e92;hpb=bb755e4be7602e9e2705fdb49a76e49dbb2c5008;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/audioodevice.C b/cinelerra-5.1/cinelerra/audioodevice.C index 2beb4c8c..e4f2cd01 100644 --- a/cinelerra-5.1/cinelerra/audioodevice.C +++ b/cinelerra-5.1/cinelerra/audioodevice.C @@ -375,11 +375,15 @@ void AudioDevice::run_output() output_buffer_t *obfr = &output[buffer_num]; obfr->play_lock->lock("AudioDevice::run 1"); if( !is_playing_back || playback_interrupted ) break; - if( obfr->last_buffer ) { lowlevel_out->flush_device(); break; } + if( obfr->last_buffer ) { + if( lowlevel_out ) lowlevel_out->flush_device(); + break; + } // get size for position information // write converted buffer synchronously double bfr_time = obfr->bfr_time; - int result = lowlevel_out->write_buffer(obfr->buffer, obfr->size); + int result = !lowlevel_out ? -1 : + lowlevel_out->write_buffer(obfr->buffer, obfr->size); // allow writing to the buffer obfr->arm_lock->unlock(); if( !result ) {