Merge commit '353b492d0f2a21ae8eb829db1ac01b54b2a4d202'
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 24 Feb 2015 21:19:28 +0000 (22:19 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 24 Feb 2015 21:19:33 +0000 (22:19 +0100)
* commit '353b492d0f2a21ae8eb829db1ac01b54b2a4d202':
  rtpdec: Change enc_name to a pointer instead of a fixed-size buffer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavformat/rtpdec.c
libavformat/rtpdec.h

diff --combined libavformat/rtpdec.c
@@@ -2,20 -2,20 +2,20 @@@
   * RTP input format
   * Copyright (c) 2002 Fabrice Bellard
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
  
  #define MIN_FEEDBACK_INTERVAL 200000 /* 200 ms in us */
  
 +static RTPDynamicProtocolHandler gsm_dynamic_handler = {
 +    .enc_name   = "GSM",
 +    .codec_type = AVMEDIA_TYPE_AUDIO,
 +    .codec_id   = AV_CODEC_ID_GSM,
 +};
 +
  static RTPDynamicProtocolHandler realmedia_mp3_dynamic_handler = {
      .enc_name   = "X-MP3-draft-00",
      .codec_type = AVMEDIA_TYPE_AUDIO,
@@@ -58,8 -52,8 +58,8 @@@ static RTPDynamicProtocolHandler opus_d
  
  static RTPDynamicProtocolHandler t140_dynamic_handler = { /* RFC 4103 */
      .enc_name   = "t140",
 -    .codec_type = AVMEDIA_TYPE_DATA,
 -    .codec_id   = AV_CODEC_ID_TEXT,
 +    .codec_type = AVMEDIA_TYPE_SUBTITLE,
 +    .codec_id   = AV_CODEC_ID_SUBRIP,
  };
  
  static RTPDynamicProtocolHandler *rtp_first_dynamic_payload_handler = NULL;
@@@ -107,8 -101,6 +107,8 @@@ void ff_register_rtp_dynamic_payload_ha
      ff_register_dynamic_payload_handler(&ff_theora_dynamic_handler);
      ff_register_dynamic_payload_handler(&ff_vorbis_dynamic_handler);
      ff_register_dynamic_payload_handler(&ff_vp8_dynamic_handler);
 +    ff_register_dynamic_payload_handler(&ff_vp9_dynamic_handler);
 +    ff_register_dynamic_payload_handler(&gsm_dynamic_handler);
      ff_register_dynamic_payload_handler(&opus_dynamic_handler);
      ff_register_dynamic_payload_handler(&realmedia_mp3_dynamic_handler);
      ff_register_dynamic_payload_handler(&speex_dynamic_handler);
@@@ -121,7 -113,8 +121,8 @@@ RTPDynamicProtocolHandler *ff_rtp_handl
      RTPDynamicProtocolHandler *handler;
      for (handler = rtp_first_dynamic_payload_handler;
           handler; handler = handler->next)
-         if (!av_strcasecmp(name, handler->enc_name) &&
+         if (handler->enc_name &&
+             !av_strcasecmp(name, handler->enc_name) &&
              codec_type == handler->codec_type)
              return handler;
      return NULL;
@@@ -677,8 -670,8 +678,8 @@@ void ff_rtp_reset_packet_queue(RTPDemux
  {
      while (s->queue) {
          RTPPacket *next = s->queue->next;
 -        av_free(s->queue->buf);
 -        av_free(s->queue);
 +        av_freep(&s->queue->buf);
 +        av_freep(&s->queue);
          s->queue = next;
      }
      s->seq       = 0;
@@@ -736,8 -729,8 +737,8 @@@ static int rtp_parse_queued_packet(RTPD
      /* Parse the first packet in the queue, and dequeue it */
      rv   = rtp_parse_packet_internal(s, pkt, s->queue->buf, s->queue->len);
      next = s->queue->next;
 -    av_free(s->queue->buf);
 -    av_free(s->queue);
 +    av_freep(&s->queue->buf);
 +    av_freep(&s->queue);
      s->queue = next;
      s->queue_len--;
      return rv;
@@@ -859,7 -852,7 +860,7 @@@ int ff_parse_fmtp(AVFormatContext *s
      int value_size = strlen(p) + 1;
  
      if (!(value = av_malloc(value_size))) {
 -        av_log(NULL, AV_LOG_ERROR, "Failed to allocate data for FMTP.");
 +        av_log(NULL, AV_LOG_ERROR, "Failed to allocate data for FMTP.\n");
          return AVERROR(ENOMEM);
      }
  
diff --combined libavformat/rtpdec.h
@@@ -3,20 -3,20 +3,20 @@@
   * Copyright (c) 2002 Fabrice Bellard
   * Copyright (c) 2006 Ryan Martell <rdm4@martellventures.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -113,7 -113,7 +113,7 @@@ typedef int (*DynamicPayloadPacketHandl
                                                 int len, uint16_t seq, int flags);
  
  struct RTPDynamicProtocolHandler {
-     const char enc_name[50];
+     const char *enc_name;
      enum AVMediaType codec_type;
      enum AVCodecID codec_id;
      int static_payload_id; /* 0 means no payload id is set. 0 is a valid
@@@ -173,9 -173,9 +173,9 @@@ struct RTPDemuxContext 
      /*@}*/
  
      /* rtcp sender statistics receive */
 -    int64_t last_rtcp_ntp_time;
 +    uint64_t last_rtcp_ntp_time;
      int64_t last_rtcp_reception_time;
 -    int64_t first_rtcp_ntp_time;
 +    uint64_t first_rtcp_ntp_time;
      uint32_t last_rtcp_timestamp;
      int64_t rtcp_ts_offset;