summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Liu <lq@chinaffmpeg.org>2023-08-25 11:35:34 +0800
committerSteven Liu <liuqi05@kuaishou.com>2023-09-05 09:13:08 +0800
commitc946e8d92153515e045f82c2ca722c73b419eeef (patch)
tree7e60bd7760aec4e5c60b72adcd439bb7e84d5995
parent62fb730762ec078afaf7b2ac11d5012ca80b5555 (diff)
avformat/rtmppkt: add ff_amf_write_array for write
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
-rw-r--r--libavformat/rtmppkt.c6
-rw-r--r--libavformat/rtmppkt.h8
2 files changed, 14 insertions, 0 deletions
diff --git a/libavformat/rtmppkt.c b/libavformat/rtmppkt.c
index 4b97c0833f..a602bf6a96 100644
--- a/libavformat/rtmppkt.c
+++ b/libavformat/rtmppkt.c
@@ -40,6 +40,12 @@ void ff_amf_write_number(uint8_t **dst, double val)
bytestream_put_be64(dst, av_double2int(val));
}
+void ff_amf_write_array_start(uint8_t **dst, uint32_t length)
+{
+ bytestream_put_byte(dst, AMF_DATA_TYPE_ARRAY);
+ bytestream_put_be32(dst, length);
+}
+
void ff_amf_write_string(uint8_t **dst, const char *str)
{
bytestream_put_byte(dst, AMF_DATA_TYPE_STRING);
diff --git a/libavformat/rtmppkt.h b/libavformat/rtmppkt.h
index a15d2a5773..7c580f2224 100644
--- a/libavformat/rtmppkt.h
+++ b/libavformat/rtmppkt.h
@@ -245,6 +245,14 @@ void ff_amf_write_null(uint8_t **dst);
void ff_amf_write_object_start(uint8_t **dst);
/**
+ * Write marker and length for AMF array to buffer.
+ *
+ * @param dst pointer to the input buffer (will be modified)
+ * @param length value to write
+ */
+void ff_amf_write_array_start(uint8_t **dst, uint32_t length);
+
+/**
* Write string used as field name in AMF object to buffer.
*
* @param dst pointer to the input buffer (will be modified)