11 is the RTMP header size.
---
libavformat/rtmpproto.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c
index deaef23..eaa45bc 100644
--- a/libavformat/rtmpproto.c
+++ b/libavformat/rtmpproto.c
@@ -53,6 +53,7 @@
#define TCURL_MAX_LENGTH 512
#define FLASHVER_MAX_LENGTH 64
#define RTMP_PKTDATA_DEFAULT_SIZE 4096
+#define RTMP_HEADER 11
/** RTMP protocol handler state */
typedef enum {
@@ -95,7 +96,7 @@ typedef struct RTMPContext {
uint32_t bytes_read; ///< number of bytes read from
server
uint32_t last_bytes_read; ///< number of bytes read last
reported to server
int skip_bytes; ///< number of bytes to skip
from the input FLV stream in the next write call
- uint8_t flv_header[11]; ///< partial incoming flv packet
header
+ uint8_t flv_header[RTMP_HEADER]; ///< partial incoming flv packet
header
int flv_header_bytes; ///< number of initialized bytes
in flv_header
int nb_invokes; ///< keeps track of invoke
messages
char* tcurl; ///< url of the target stream
@@ -2001,7 +2002,7 @@ static int handle_invoke_status(URLContext *s, RTMPPacket
*pkt)
{
RTMPContext *rt = s->priv_data;
const uint8_t *data_end = pkt->data + pkt->size;
- const uint8_t *ptr = pkt->data + 11;
+ const uint8_t *ptr = pkt->data + RTMP_HEADER;
uint8_t tmpstr[256];
int i, t;
@@ -2203,7 +2204,7 @@ static int handle_metadata(RTMPContext *rt, RTMPPacket
*pkt)
/* copy data while rewriting timestamps */
ts = pkt->timestamp;
- while (next - pkt->data < pkt->size - 11) {
+ while (next - pkt->data < pkt->size - RTMP_HEADER) {
type = bytestream_get_byte(&next);
size = bytestream_get_be24(&next);
cts = bytestream_get_be24(&next);
@@ -2220,7 +2221,7 @@ static int handle_metadata(RTMPContext *rt, RTMPPacket
*pkt)
next += size + 3 + 4;
p += size + 3 + 4;
}
- memcpy(p, next, 11);
+ memcpy(p, next, RTMP_HEADER);
return 0;
}
@@ -2647,14 +2648,14 @@ static int rtmp_write(URLContext *s, const uint8_t
*buf, int size)
continue;
}
- if (rt->flv_header_bytes < 11) {
+ if (rt->flv_header_bytes < RTMP_HEADER) {
const uint8_t *header = rt->flv_header;
- int copy = FFMIN(11 - rt->flv_header_bytes, size_temp);
+ int copy = FFMIN(RTMP_HEADER - rt->flv_header_bytes, size_temp);
int channel = RTMP_AUDIO_CHANNEL;
bytestream_get_buffer(&buf_temp, rt->flv_header +
rt->flv_header_bytes, copy);
rt->flv_header_bytes += copy;
size_temp -= copy;
- if (rt->flv_header_bytes < 11)
+ if (rt->flv_header_bytes < RTMP_HEADER)
break;
pkttype = bytestream_get_byte(&header);
--
1.8.3.2
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel