Browse Source

rtmp: Add a function for writing AMF strings based on two substrings

This avoids having to concatenate them into one buffer before writing
them as AMF.

Signed-off-by: Martin Storsjö <martin@martin.st>
tags/n1.1
Martin Storsjö 13 years ago
parent
commit
33f28a3be3
2 changed files with 22 additions and 0 deletions
  1. +13
    -0
      libavformat/rtmppkt.c
  2. +9
    -0
      libavformat/rtmppkt.h

+ 13
- 0
libavformat/rtmppkt.c View File

@@ -47,6 +47,19 @@ void ff_amf_write_string(uint8_t **dst, const char *str)
bytestream_put_buffer(dst, str, strlen(str));
}

void ff_amf_write_string2(uint8_t **dst, const char *str1, const char *str2)
{
int len1 = 0, len2 = 0;
if (str1)
len1 = strlen(str1);
if (str2)
len2 = strlen(str2);
bytestream_put_byte(dst, AMF_DATA_TYPE_STRING);
bytestream_put_be16(dst, len1 + len2);
bytestream_put_buffer(dst, str1, len1);
bytestream_put_buffer(dst, str2, len2);
}

void ff_amf_write_null(uint8_t **dst)
{
bytestream_put_byte(dst, AMF_DATA_TYPE_NULL);


+ 9
- 0
libavformat/rtmppkt.h View File

@@ -203,6 +203,15 @@ void ff_amf_write_number(uint8_t **dst, double num);
*/
void ff_amf_write_string(uint8_t **dst, const char *str);

/**
* Write a string consisting of two parts in AMF format to a buffer.
*
* @param dst pointer to the input buffer (will be modified)
* @param str1 first string to write, may be null
* @param str2 second string to write, may be null
*/
void ff_amf_write_string2(uint8_t **dst, const char *str1, const char *str2);

/**
* Write AMF NULL value to buffer.
*


Loading…
Cancel
Save