From 8b6924b80f803b07869c7f255b67bcf3dc1eac4d Mon Sep 17 00:00:00 2001 From: tt2468 Date: Thu, 11 Apr 2024 22:55:33 -0700 Subject: [PATCH] plugins: Set keyframe flag on encoded audio packets Not strictly necessary, and does not fix any bug. This just corrects a nitpick that technically audio encoder packets are start points, but that they aren't being labeled accordingly as keyframes. --- plugins/coreaudio-encoder/encoder.cpp | 1 + plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c | 1 + plugins/obs-libfdk/obs-libfdk.c | 1 + 3 files changed, 3 insertions(+) diff --git a/plugins/coreaudio-encoder/encoder.cpp b/plugins/coreaudio-encoder/encoder.cpp index eb6dc057f..052141812 100644 --- a/plugins/coreaudio-encoder/encoder.cpp +++ b/plugins/coreaudio-encoder/encoder.cpp @@ -775,6 +775,7 @@ static bool aac_encode(void *data, struct encoder_frame *frame, packet->timebase_num = 1; packet->timebase_den = (uint32_t)ca->samples_per_second; packet->type = OBS_ENCODER_AUDIO; + packet->keyframe = true; packet->size = out_desc.mDataByteSize; packet->data = (uint8_t *)buffer_list.mBuffers[0].mData + out_desc.mStartOffset; diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c b/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c index ecabbc60d..d65be4073 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-audio-encoders.c @@ -442,6 +442,7 @@ static bool do_encode(struct enc_encoder *enc, struct encoder_packet *packet, packet->data = enc->packet_buffer.array; packet->size = avpacket.size; packet->type = OBS_ENCODER_AUDIO; + packet->keyframe = true; packet->timebase_num = 1; packet->timebase_den = (int32_t)enc->context->sample_rate; av_packet_unref(&avpacket); diff --git a/plugins/obs-libfdk/obs-libfdk.c b/plugins/obs-libfdk/obs-libfdk.c index 5e55489dc..0e0e34fb8 100644 --- a/plugins/obs-libfdk/obs-libfdk.c +++ b/plugins/obs-libfdk/obs-libfdk.c @@ -273,6 +273,7 @@ static bool libfdk_encode(void *data, struct encoder_frame *frame, packet->data = enc->packet_buffer; packet->size = out_args.numOutBytes; packet->type = OBS_ENCODER_AUDIO; + packet->keyframe = true; packet->timebase_num = 1; packet->timebase_den = enc->sample_rate;