mac-capture: Fix possible division by zero error

Possibility of `mChannelsPerFrame` being 0 is not properly covered by
current code, which will result in a division-by-zero error.
This commit is contained in:
PatTheMav 2023-05-01 15:23:58 +02:00 committed by Jim
parent 982c424de3
commit f20f788d0b

View file

@ -297,6 +297,13 @@ static inline void screen_stream_audio_update(struct screen_capture *sc,
CMAudioFormatDescriptionGetStreamBasicDescription(
format_description);
if (audio_description->mChannelsPerFrame < 1) {
MACCAP_ERR(
"screen_stream_audio_update: Received sample buffer has less than 1 channel per frame (mChannelsPerFrame set to '%d')\n",
audio_description->mChannelsPerFrame);
return;
}
char *_Nullable bytes = NULL;
CMBlockBufferRef data_buffer =
CMSampleBufferGetDataBuffer(sample_buffer);