summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/rtmpproto.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c
index 4cf0f0c75f..e404d60ca4 100644
--- a/libavformat/rtmpproto.c
+++ b/libavformat/rtmpproto.c
@@ -2070,7 +2070,7 @@ static int handle_notify(URLContext *s, RTMPPacket *pkt) {
GetByteContext gbc;
PutByteContext pbc;
uint32_t ts;
- int old_flv_size;
+ int old_flv_size, err;
const uint8_t *datatowrite;
unsigned datatowritelength;
@@ -2098,22 +2098,23 @@ static int handle_notify(URLContext *s, RTMPPacket *pkt) {
old_flv_size = rt->flv_size;
rt->flv_size += datatowritelength + 15;
} else {
- int err;
old_flv_size = 0;
rt->flv_size = datatowritelength + 15;
rt->flv_off = 0;
- if ((err = av_reallocp(&rt->flv_data, rt->flv_size)) < 0)
- return err;
- bytestream2_init_writer(&pbc, rt->flv_data, rt->flv_size);
- bytestream2_skip_p(&pbc, old_flv_size);
- bytestream2_put_byte(&pbc, pkt->type);
- bytestream2_put_be24(&pbc, datatowritelength);
- bytestream2_put_be24(&pbc, ts);
- bytestream2_put_byte(&pbc, ts >> 24);
- bytestream2_put_be24(&pbc, 0);
- bytestream2_put_buffer(&pbc, datatowrite, datatowritelength);
- bytestream2_put_be32(&pbc, 0);
}
+
+ if ((err = av_reallocp(&rt->flv_data, rt->flv_size)) < 0)
+ return err;
+ bytestream2_init_writer(&pbc, rt->flv_data, rt->flv_size);
+ bytestream2_skip_p(&pbc, old_flv_size);
+ bytestream2_put_byte(&pbc, pkt->type);
+ bytestream2_put_be24(&pbc, datatowritelength);
+ bytestream2_put_be24(&pbc, ts);
+ bytestream2_put_byte(&pbc, ts >> 24);
+ bytestream2_put_be24(&pbc, 0);
+ bytestream2_put_buffer(&pbc, datatowrite, datatowritelength);
+ bytestream2_put_be32(&pbc, 0);
+
return 0;
}