[FFmpeg-cvslog] fftools/ffmpeg_dec: inline decode_audio() into dec_packet()

Anton Khirnov git at videolan.org
Mon May 22 18:12:25 EEST 2023


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Wed May 17 11:58:50 2023 +0200| [909f5dfae15effe2e4f2fd7e0d1b490c224fde20] | committer: Anton Khirnov

fftools/ffmpeg_dec: inline decode_audio() into dec_packet()

The former function is now trivial - it has 3 lines and cannot fail.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=909f5dfae15effe2e4f2fd7e0d1b490c224fde20
---

 fftools/ffmpeg_dec.c | 29 +++++++++++------------------
 1 file changed, 11 insertions(+), 18 deletions(-)

diff --git a/fftools/ffmpeg_dec.c b/fftools/ffmpeg_dec.c
index 072c8f3a32..acb56e4118 100644
--- a/fftools/ffmpeg_dec.c
+++ b/fftools/ffmpeg_dec.c
@@ -128,17 +128,6 @@ static void audio_ts_process(InputStream *ist, AVFrame *frame)
     frame->time_base = tb_filter;
 }
 
-static int decode_audio(InputStream *ist, AVFrame *decoded_frame)
-{
-    ist->samples_decoded += decoded_frame->nb_samples;
-
-    audio_ts_process(ist, decoded_frame);
-
-    ist->nb_samples = decoded_frame->nb_samples;
-
-    return 0;
-}
-
 static int64_t video_duration_estimate(const InputStream *ist, const AVFrame *frame)
 {
     const InputFile   *ifile = input_files[ist->file_index];
@@ -467,14 +456,18 @@ int dec_packet(InputStream *ist, const AVPacket *pkt, int no_eof)
 
         frame->time_base = dec->pkt_timebase;
 
-        ret = dec->codec_type == AVMEDIA_TYPE_AUDIO ?
-                decode_audio(ist, frame)            :
-                decode_video(ist, frame);
+        if (dec->codec_type == AVMEDIA_TYPE_AUDIO) {
+            ist->samples_decoded += frame->nb_samples;
+            ist->nb_samples       = frame->nb_samples;
 
-        if (ret < 0) {
-            av_log(NULL, AV_LOG_FATAL, "Error while processing the decoded "
-                   "data for stream #%d:%d\n", ist->file_index, ist->st->index);
-            exit_program(1);
+            audio_ts_process(ist, frame);
+        } else {
+            ret = decode_video(ist, frame);
+            if (ret < 0) {
+                av_log(NULL, AV_LOG_FATAL, "Error while processing the decoded "
+                       "data for stream #%d:%d\n", ist->file_index, ist->st->index);
+                exit_program(1);
+            }
         }
 
         ist->frames_decoded++;



More information about the ffmpeg-cvslog mailing list