diff options
| author | Tim Redfern <tim@eclectronics.org> | 2013-12-29 12:19:38 +0000 |
|---|---|---|
| committer | Tim Redfern <tim@eclectronics.org> | 2013-12-29 12:19:38 +0000 |
| commit | f7813a5324be39d13ab536c245d15dfc602a7849 (patch) | |
| tree | fad99148b88823d34a5df2f0a25881a002eb291b /ffmpeg/libavformat/rtpdec_h264.c | |
| parent | b7a5a477b8ff4d4e3028b9dfb9a9df0a41463f92 (diff) | |
basic type mechanism working
Diffstat (limited to 'ffmpeg/libavformat/rtpdec_h264.c')
| -rw-r--r-- | ffmpeg/libavformat/rtpdec_h264.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/ffmpeg/libavformat/rtpdec_h264.c b/ffmpeg/libavformat/rtpdec_h264.c index d1133b7..1ca78bc 100644 --- a/ffmpeg/libavformat/rtpdec_h264.c +++ b/ffmpeg/libavformat/rtpdec_h264.c @@ -33,6 +33,7 @@ * FU-B packet types) */ +#include "libavutil/attributes.h" #include "libavutil/base64.h" #include "libavutil/avstring.h" #include "libavcodec/get_bits.h" @@ -189,7 +190,8 @@ static int h264_handle_packet(AVFormatContext *ctx, PayloadContext *data, switch (type) { case 0: // undefined, but pass them through case 1: - av_new_packet(pkt, len + sizeof(start_sequence)); + if ((result = av_new_packet(pkt, len + sizeof(start_sequence))) < 0) + return result; memcpy(pkt->data, start_sequence, sizeof(start_sequence)); memcpy(pkt->data + sizeof(start_sequence), buf, len); COUNT_NAL_TYPE(data, nal); @@ -246,7 +248,8 @@ static int h264_handle_packet(AVFormatContext *ctx, PayloadContext *data, if (pass == 0) { /* now we know the total size of the packet (with the * start sequences added) */ - av_new_packet(pkt, total_length); + if ((result = av_new_packet(pkt, total_length)) < 0) + return result; dst = pkt->data; } else { assert(dst - pkt->data == total_length); @@ -291,12 +294,14 @@ static int h264_handle_packet(AVFormatContext *ctx, PayloadContext *data, COUNT_NAL_TYPE(data, nal_type); if (start_bit) { /* copy in the start sequence, and the reconstructed nal */ - av_new_packet(pkt, sizeof(start_sequence) + sizeof(nal) + len); + if ((result = av_new_packet(pkt, sizeof(start_sequence) + sizeof(nal) + len)) < 0) + return result; memcpy(pkt->data, start_sequence, sizeof(start_sequence)); pkt->data[sizeof(start_sequence)] = reconstructed_nal; memcpy(pkt->data + sizeof(start_sequence) + sizeof(nal), buf, len); } else { - av_new_packet(pkt, len); + if ((result = av_new_packet(pkt, len)) < 0) + return result; memcpy(pkt->data, buf, len); } } else { @@ -338,7 +343,8 @@ static void h264_free_context(PayloadContext *data) av_free(data); } -static int h264_init(AVFormatContext *s, int st_index, PayloadContext *data) +static av_cold int h264_init(AVFormatContext *s, int st_index, + PayloadContext *data) { if (st_index < 0) return 0; |
