- lock_guard<mutex> lock(qs_mu);
- quicksync_encoder->add_audio(pts, audio);
+ // Take only qs_audio_mu, since add_audio() is thread safe
+ // (we can only conflict with do_cut(), which takes qs_audio_mu)
+ // and we don't want to contend with begin_frame().
+ {
+ lock_guard<mutex> lock(qs_audio_mu);
+ quicksync_encoder->add_audio(pts, audio);
+ }