mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-09 14:14:39 +02:00
Merge commit '3b18857ab301d2a0b3e86e9d85eed76f0798a29c'
* commit '3b18857ab301d2a0b3e86e9d85eed76f0798a29c': rtmppkt: Add method to read an AMF string that is not prefixed by its type Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
6b9cbc9a11
@ -102,13 +102,11 @@ int ff_amf_read_number(GetByteContext *bc, double *val)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ff_amf_read_string(GetByteContext *bc, uint8_t *str,
|
int ff_amf_get_string(GetByteContext *bc, uint8_t *str,
|
||||||
int strsize, int *length)
|
int strsize, int *length)
|
||||||
{
|
{
|
||||||
int stringlen = 0;
|
int stringlen = 0;
|
||||||
int readsize;
|
int readsize;
|
||||||
if (bytestream2_get_byte(bc) != AMF_DATA_TYPE_STRING)
|
|
||||||
return AVERROR_INVALIDDATA;
|
|
||||||
stringlen = bytestream2_get_be16(bc);
|
stringlen = bytestream2_get_be16(bc);
|
||||||
if (stringlen + 1 > strsize)
|
if (stringlen + 1 > strsize)
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
@ -122,6 +120,14 @@ int ff_amf_read_string(GetByteContext *bc, uint8_t *str,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ff_amf_read_string(GetByteContext *bc, uint8_t *str,
|
||||||
|
int strsize, int *length)
|
||||||
|
{
|
||||||
|
if (bytestream2_get_byte(bc) != AMF_DATA_TYPE_STRING)
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
return ff_amf_get_string(bc, str, strsize, length);
|
||||||
|
}
|
||||||
|
|
||||||
int ff_amf_read_null(GetByteContext *bc)
|
int ff_amf_read_null(GetByteContext *bc)
|
||||||
{
|
{
|
||||||
if (bytestream2_get_byte(bc) != AMF_DATA_TYPE_NULL)
|
if (bytestream2_get_byte(bc) != AMF_DATA_TYPE_NULL)
|
||||||
|
@ -277,6 +277,23 @@ int ff_amf_read_bool(GetByteContext *gbc, int *val);
|
|||||||
*/
|
*/
|
||||||
int ff_amf_read_number(GetByteContext *gbc, double *val);
|
int ff_amf_read_number(GetByteContext *gbc, double *val);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get AMF string value.
|
||||||
|
*
|
||||||
|
* This function behaves the same as ff_amf_read_string except that
|
||||||
|
* it does not expect the AMF type prepended to the actual data.
|
||||||
|
* Appends a trailing null byte to output string in order to
|
||||||
|
* ease later parsing.
|
||||||
|
*
|
||||||
|
*@param[in,out] gbc GetByteContext initialized with AMF-formatted data
|
||||||
|
*@param[out] str read string
|
||||||
|
*@param[in] strsize buffer size available to store the read string
|
||||||
|
*@param[out] length read string length
|
||||||
|
*@return 0 on success or an AVERROR code on failure
|
||||||
|
*/
|
||||||
|
int ff_amf_get_string(GetByteContext *bc, uint8_t *str,
|
||||||
|
int strsize, int *length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Read AMF string value.
|
* Read AMF string value.
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user