[FFmpeg-devel,v5,13/22] cbs: Expose the function to insert a new empty unit into a fragment

Message ID 20200503220548.23543-13-sw@jkqxz.net
State New
Headers
Series [FFmpeg-devel,v5,01/22] cbs: Mention all codecs in unit type comment |

Checks

Context Check Description
andriy/default pending
andriy/configure warning Failed to apply patch

Commit Message

Mark Thompson May 3, 2020, 10:05 p.m. UTC
This will be helpful when adding new SEI to an existing access unit.
---
 libavcodec/cbs.c | 10 +++++-----
 libavcodec/cbs.h |  7 +++++++
 2 files changed, 12 insertions(+), 5 deletions(-)
  

Patch

diff --git a/libavcodec/cbs.c b/libavcodec/cbs.c
index 2f39ddbfb4..2346b1621b 100644
--- a/libavcodec/cbs.c
+++ b/libavcodec/cbs.c
@@ -680,9 +680,9 @@  int ff_cbs_alloc_unit_data(CodedBitstreamContext *ctx,
     return 0;
 }
 
-static int cbs_insert_unit(CodedBitstreamContext *ctx,
-                           CodedBitstreamFragment *frag,
-                           int position)
+int ff_cbs_insert_unit(CodedBitstreamContext *ctx,
+                       CodedBitstreamFragment *frag,
+                       int position)
 {
     CodedBitstreamUnit *units;
 
@@ -742,7 +742,7 @@  int ff_cbs_insert_unit_content(CodedBitstreamContext *ctx,
         content_ref = NULL;
     }
 
-    err = cbs_insert_unit(ctx, frag, position);
+    err = ff_cbs_insert_unit(ctx, frag, position);
     if (err < 0) {
         av_buffer_unref(&content_ref);
         return err;
@@ -781,7 +781,7 @@  int ff_cbs_insert_unit_data(CodedBitstreamContext *ctx,
         return AVERROR(ENOMEM);
     }
 
-    err = cbs_insert_unit(ctx, frag, position);
+    err = ff_cbs_insert_unit(ctx, frag, position);
     if (err < 0) {
         av_buffer_unref(&data_ref);
         return err;
diff --git a/libavcodec/cbs.h b/libavcodec/cbs.h
index eb7f4b878b..09b06a047d 100644
--- a/libavcodec/cbs.h
+++ b/libavcodec/cbs.h
@@ -370,6 +370,13 @@  int ff_cbs_alloc_unit_data(CodedBitstreamContext *ctx,
                            CodedBitstreamUnit *unit,
                            size_t size);
 
+/**
+ * Insert a new empty unit into a fragment.
+ */
+int ff_cbs_insert_unit(CodedBitstreamContext *ctx,
+                       CodedBitstreamFragment *frag,
+                       int position);
+
 /**
  * Insert a new unit into a fragment with the given content.
  *