]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/rtpdec_h264.c
lavfi: Add the af_channelmap audio channel mapping filter.
[ffmpeg] / libavformat / rtpdec_h264.c
index d9b2700afd287a417beb2f7462fb1cbccf021426..c192d976c1d7540388dd581e38c6a99d3b4d5ea7 100644 (file)
@@ -39,7 +39,6 @@
 #include "avformat.h"
 #include "mpegts.h"
 
-#include <unistd.h>
 #include "network.h"
 #include <assert.h>
 
@@ -85,7 +84,7 @@ static int sdp_parse_fmtp_config_h264(AVStream *stream,
          */
         if (h264_data->packetization_mode > 1)
             av_log(codec, AV_LOG_ERROR,
-                   "Interleaved RTP mode is not supported yet.");
+                   "Interleaved RTP mode is not supported yet.\n");
     } else if (!strcmp(attr, "profile-level-id")) {
         if (strlen(value) == 6) {
             char buffer[3];
@@ -114,7 +113,7 @@ static int sdp_parse_fmtp_config_h264(AVStream *stream,
         }
     } else if (!strcmp(attr, "sprop-parameter-sets")) {
         codec->extradata_size = 0;
-        codec->extradata      = NULL;
+        av_freep(&codec->extradata);
 
         while (*value) {
             char base64packet[1024];
@@ -137,29 +136,28 @@ static int sdp_parse_fmtp_config_h264(AVStream *stream,
                 uint8_t *dest = av_malloc(packet_size + sizeof(start_sequence) +
                                           codec->extradata_size +
                                           FF_INPUT_BUFFER_PADDING_SIZE);
-                if (dest) {
-                    if (codec->extradata_size) {
-                        memcpy(dest, codec->extradata, codec->extradata_size);
-                        av_free(codec->extradata);
-                    }
-
-                    memcpy(dest + codec->extradata_size, start_sequence,
-                           sizeof(start_sequence));
-                    memcpy(dest + codec->extradata_size + sizeof(start_sequence),
-                           decoded_packet, packet_size);
-                    memset(dest + codec->extradata_size + sizeof(start_sequence) +
-                           packet_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
-
-                    codec->extradata       = dest;
-                    codec->extradata_size += sizeof(start_sequence) + packet_size;
-                } else {
+                if (!dest) {
                     av_log(codec, AV_LOG_ERROR,
-                           "Unable to allocate memory for extradata!");
+                           "Unable to allocate memory for extradata!\n");
                     return AVERROR(ENOMEM);
                 }
+                if (codec->extradata_size) {
+                    memcpy(dest, codec->extradata, codec->extradata_size);
+                    av_free(codec->extradata);
+                }
+
+                memcpy(dest + codec->extradata_size, start_sequence,
+                       sizeof(start_sequence));
+                memcpy(dest + codec->extradata_size + sizeof(start_sequence),
+                       decoded_packet, packet_size);
+                memset(dest + codec->extradata_size + sizeof(start_sequence) +
+                       packet_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
+
+                codec->extradata       = dest;
+                codec->extradata_size += sizeof(start_sequence) + packet_size;
             }
         }
-        av_log(codec, AV_LOG_DEBUG, "Extradata set to %p (size: %d)!",
+        av_log(codec, AV_LOG_DEBUG, "Extradata set to %p (size: %d)!\n",
                codec->extradata, codec->extradata_size);
     }
     return 0;
@@ -310,7 +308,7 @@ static int h264_handle_packet(AVFormatContext *ctx, PayloadContext *data,
     case 30:                   // undefined
     case 31:                   // undefined
     default:
-        av_log(ctx, AV_LOG_ERROR, "Undefined type (%d)", type);
+        av_log(ctx, AV_LOG_ERROR, "Undefined type (%d)\n", type);
         result = AVERROR_INVALIDDATA;
         break;
     }