libav/codecmap: Clarify fallthrough usages

And minor rewrite to avoid `return; break;` patterns

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229>
This commit is contained in:
Edward Hervey 2025-01-06 14:46:24 +01:00 committed by GStreamer Marge Bot
parent eef680b441
commit 959d58fd98

View file

@ -2924,6 +2924,8 @@ GstAudioFormat
gst_ffmpeg_smpfmt_to_audioformat (enum AVSampleFormat sample_fmt, gst_ffmpeg_smpfmt_to_audioformat (enum AVSampleFormat sample_fmt,
GstAudioLayout * layout) GstAudioLayout * layout)
{ {
GstAudioFormat ret = GST_AUDIO_FORMAT_UNKNOWN;
if (layout) if (layout)
*layout = GST_AUDIO_LAYOUT_NON_INTERLEAVED; *layout = GST_AUDIO_LAYOUT_NON_INTERLEAVED;
@ -2931,42 +2933,48 @@ gst_ffmpeg_smpfmt_to_audioformat (enum AVSampleFormat sample_fmt,
case AV_SAMPLE_FMT_U8: case AV_SAMPLE_FMT_U8:
if (layout) if (layout)
*layout = GST_AUDIO_LAYOUT_INTERLEAVED; *layout = GST_AUDIO_LAYOUT_INTERLEAVED;
/* FALLTHROUGH */
case AV_SAMPLE_FMT_U8P: case AV_SAMPLE_FMT_U8P:
return GST_AUDIO_FORMAT_U8; ret = GST_AUDIO_FORMAT_U8;
break; break;
case AV_SAMPLE_FMT_S16: case AV_SAMPLE_FMT_S16:
if (layout) if (layout)
*layout = GST_AUDIO_LAYOUT_INTERLEAVED; *layout = GST_AUDIO_LAYOUT_INTERLEAVED;
/* FALLTHROUGH */
case AV_SAMPLE_FMT_S16P: case AV_SAMPLE_FMT_S16P:
return GST_AUDIO_FORMAT_S16; ret = GST_AUDIO_FORMAT_S16;
break; break;
case AV_SAMPLE_FMT_S32: case AV_SAMPLE_FMT_S32:
if (layout) if (layout)
*layout = GST_AUDIO_LAYOUT_INTERLEAVED; *layout = GST_AUDIO_LAYOUT_INTERLEAVED;
/* FALLTHROUGH */
case AV_SAMPLE_FMT_S32P: case AV_SAMPLE_FMT_S32P:
return GST_AUDIO_FORMAT_S32; ret = GST_AUDIO_FORMAT_S32;
break; break;
case AV_SAMPLE_FMT_FLT: case AV_SAMPLE_FMT_FLT:
if (layout) if (layout)
*layout = GST_AUDIO_LAYOUT_INTERLEAVED; *layout = GST_AUDIO_LAYOUT_INTERLEAVED;
/* FALLTHROUGH */
case AV_SAMPLE_FMT_FLTP: case AV_SAMPLE_FMT_FLTP:
return GST_AUDIO_FORMAT_F32; ret = GST_AUDIO_FORMAT_F32;
break; break;
case AV_SAMPLE_FMT_DBL: case AV_SAMPLE_FMT_DBL:
if (layout) if (layout)
*layout = GST_AUDIO_LAYOUT_INTERLEAVED; *layout = GST_AUDIO_LAYOUT_INTERLEAVED;
/* FALLTHROUGH */
case AV_SAMPLE_FMT_DBLP: case AV_SAMPLE_FMT_DBLP:
return GST_AUDIO_FORMAT_F64; ret = GST_AUDIO_FORMAT_F64;
break; break;
default: default:
/* .. */
return GST_AUDIO_FORMAT_UNKNOWN;
break; break;
} }
return ret;
} }
/* Convert a FFMPEG Sample Format and optional AVCodecContext /* Convert a FFMPEG Sample Format and optional AVCodecContext