Signed-off-by: Gil Pedersen <g...@gpost.dk>
---
 libavcodec/cbs_av1.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/libavcodec/cbs_av1.c b/libavcodec/cbs_av1.c
index 9badfe31e4..cf680aed6c 100644
--- a/libavcodec/cbs_av1.c
+++ b/libavcodec/cbs_av1.c
@@ -896,12 +896,11 @@ static int cbs_av1_read_unit(CodedBitstreamContext *ctx,
             if (err < 0)
                 return err;
 
-            av_buffer_unref(&priv->sequence_header_ref);
-            priv->sequence_header = NULL;
-
-            priv->sequence_header_ref = av_buffer_ref(unit->content_ref);
-            if (!priv->sequence_header_ref)
-                return AVERROR(ENOMEM);
+            err = av_buffer_replace(&priv->sequence_header_ref, 
unit->content_ref);
+            if (err < 0) {
+                priv->sequence_header = NULL;
+                return err;
+            }
             priv->sequence_header = &obu->obu.sequence_header;
         }
         break;
@@ -1039,12 +1038,11 @@ static int cbs_av1_write_obu(CodedBitstreamContext *ctx,
             if (err < 0)
                 return err;
 
-            av_buffer_unref(&priv->sequence_header_ref);
-            priv->sequence_header = NULL;
-
-            priv->sequence_header_ref = av_buffer_ref(unit->content_ref);
-            if (!priv->sequence_header_ref)
-                return AVERROR(ENOMEM);
+            err = av_buffer_replace(&priv->sequence_header_ref, 
unit->content_ref);
+            if (err < 0) {
+                priv->sequence_header = NULL;
+                return err;
+            }
             priv->sequence_header = &obu->obu.sequence_header;
         }
         break;
-- 
2.17.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to