[FFmpeg-devel] [PATCH 2/7] avformat/mov_chan: simplify channel layout canonicalization

Marton Balint cus at passwd.hu
Sat Mar 9 23:54:09 EET 2024


Signed-off-by: Marton Balint <cus at passwd.hu>
---
 libavformat/mov_chan.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/libavformat/mov_chan.c b/libavformat/mov_chan.c
index 3e186b0837..ead3a9b91b 100644
--- a/libavformat/mov_chan.c
+++ b/libavformat/mov_chan.c
@@ -543,10 +543,8 @@ int ff_mov_read_chan(AVFormatContext *s, AVIOContext *pb, AVStream *st,
             ch_layout->u.map[i].id = mov_get_channel_id(label);
         }
 
-        ret = av_channel_layout_retype(ch_layout, AV_CHANNEL_ORDER_NATIVE, AV_CHANNEL_LAYOUT_RETYPE_FLAG_LOSSLESS);
-        if (ret == AVERROR(ENOSYS))
-            ret = av_channel_layout_retype(ch_layout, AV_CHANNEL_ORDER_UNSPEC, AV_CHANNEL_LAYOUT_RETYPE_FLAG_LOSSLESS);
-        if (ret < 0 && ret != AVERROR(ENOSYS))
+        ret = av_channel_layout_retype(ch_layout, 0, AV_CHANNEL_LAYOUT_RETYPE_FLAG_CANONICAL);
+        if (ret < 0)
             goto out;
     } else {
         uint64_t mask = mov_get_channel_layout(layout_tag, bitmap);
@@ -843,10 +841,8 @@ int ff_mov_read_chnl(AVFormatContext *s, AVIOContext *pb, AVStream *st)
                 ch_layout->u.map[i].id = channel;
             }
 
-            ret = av_channel_layout_retype(ch_layout, AV_CHANNEL_ORDER_NATIVE, AV_CHANNEL_LAYOUT_RETYPE_FLAG_LOSSLESS);
-            if (ret == AVERROR(ENOSYS))
-                ret = av_channel_layout_retype(ch_layout, AV_CHANNEL_ORDER_UNSPEC, AV_CHANNEL_LAYOUT_RETYPE_FLAG_LOSSLESS);
-            if (ret < 0 && ret != AVERROR(ENOSYS))
+            ret = av_channel_layout_retype(ch_layout, 0, AV_CHANNEL_LAYOUT_RETYPE_FLAG_CANONICAL);
+            if (ret < 0)
                 return ret;
         } else {
             uint64_t omitted_channel_map = avio_rb64(pb);
-- 
2.35.3



More information about the ffmpeg-devel mailing list