Commit 0f8de2b5 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge commit 'f3449062'

* commit 'f3449062':
  rtpdec_hevc: Reduce indentation level by returning early on errors

Conflicts:
	libavformat/rtpdec_hevc.c
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 29f9d82d f3449062
...@@ -320,44 +320,44 @@ static int hevc_handle_packet(AVFormatContext *ctx, PayloadContext *rtp_hevc_ctx ...@@ -320,44 +320,44 @@ static int hevc_handle_packet(AVFormatContext *ctx, PayloadContext *rtp_hevc_ctx
av_dlog(ctx, " FU type %d with %d bytes\n", fu_type, len); av_dlog(ctx, " FU type %d with %d bytes\n", fu_type, len);
/* sanity check for size of input packet: 1 byte payload at least */ /* sanity check for size of input packet: 1 byte payload at least */
if (len > 0) { if (len <= 0) {
new_nal_header[0] = (rtp_pl[0] & 0x81) | (fu_type << 1);
new_nal_header[1] = rtp_pl[1];
/* start fragment vs. subsequent fragments */
if (first_fragment) {
if (!last_fragment) {
/* create A/V packet which is big enough */
if ((res = av_new_packet(pkt, sizeof(start_sequence) + sizeof(new_nal_header) + len)) < 0)
return res;
/* A/V packet: copy start sequence */
memcpy(pkt->data, start_sequence, sizeof(start_sequence));
/* A/V packet: copy new NAL header */
memcpy(pkt->data + sizeof(start_sequence), new_nal_header, sizeof(new_nal_header));
/* A/V packet: copy NAL unit data */
memcpy(pkt->data + sizeof(start_sequence) + sizeof(new_nal_header), buf, len);
} else {
av_log(ctx, AV_LOG_ERROR, "Illegal combination of S and E bit in RTP/HEVC packet\n");
res = AVERROR_INVALIDDATA;
}
} else {
/* create A/V packet */
if ((res = av_new_packet(pkt, len)) < 0)
return res;
/* A/V packet: copy NAL unit data */
memcpy(pkt->data, buf, len);
}
} else {
if (len < 0) { if (len < 0) {
av_log(ctx, AV_LOG_ERROR, av_log(ctx, AV_LOG_ERROR,
"Too short RTP/HEVC packet, got %d bytes of NAL unit type %d\n", "Too short RTP/HEVC packet, got %d bytes of NAL unit type %d\n",
len, nal_type); len, nal_type);
res = AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
} else { } else {
res = AVERROR(EAGAIN); return AVERROR(EAGAIN);
} }
} }
if (first_fragment && last_fragment) {
av_log(ctx, AV_LOG_ERROR, "Illegal combination of S and E bit in RTP/HEVC packet\n");
return AVERROR_INVALIDDATA;
}
new_nal_header[0] = (rtp_pl[0] & 0x81) | (fu_type << 1);
new_nal_header[1] = rtp_pl[1];
/* start fragment vs. subsequent fragments */
if (first_fragment) {
/* create A/V packet which is big enough */
if ((res = av_new_packet(pkt, sizeof(start_sequence) + sizeof(new_nal_header) + len)) < 0)
return res;
/* A/V packet: copy start sequence */
memcpy(pkt->data, start_sequence, sizeof(start_sequence));
/* A/V packet: copy new NAL header */
memcpy(pkt->data + sizeof(start_sequence), new_nal_header, sizeof(new_nal_header));
/* A/V packet: copy NAL unit data */
memcpy(pkt->data + sizeof(start_sequence) + sizeof(new_nal_header), buf, len);
} else {
/* create A/V packet */
if ((res = av_new_packet(pkt, len)) < 0)
return res;
/* A/V packet: copy NAL unit data */
memcpy(pkt->data, buf, len);
}
break; break;
/* PACI packet */ /* PACI packet */
case 50: case 50:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment