From patchwork Fri Nov 4 22:15:44 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timur Aydin X-Patchwork-Id: 1303 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.90.1 with SMTP id o1csp56378vsb; Fri, 4 Nov 2016 15:16:00 -0700 (PDT) X-Received: by 10.28.74.133 with SMTP id n5mr439249wmi.132.1478297760290; Fri, 04 Nov 2016 15:16:00 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id g7si17606369wjd.164.2016.11.04.15.15.59; Fri, 04 Nov 2016 15:16:00 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@taydin.org; dkim=neutral (body hash did not verify) header.i=@messagingengine.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EFD03689DE9; Sat, 5 Nov 2016 00:15:53 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from new2-smtp.messagingengine.com (new2-smtp.messagingengine.com [66.111.4.224]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1AB87689A92 for ; Sat, 5 Nov 2016 00:15:47 +0200 (EET) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailnew.nyi.internal (Postfix) with ESMTP id ED856C1A; Fri, 4 Nov 2016 18:15:48 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute2.internal (MEProxy); Fri, 04 Nov 2016 18:15:48 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=taydin.org; h= content-type:date:from:message-id:mime-version:subject:to :x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s=mesmtp; bh=ydm zAyPkx94qJCzurYq6dqMGN2s=; b=aSUPUtK3h3CppTEXW1irDlc+yXsae0giLVw PLcey0qyeH3COiL757XF0xp7L+MNmHYq9Ey5B6m/c2ciXJ2pGZ5FmLGnsQc94HXh VUyiC281W3pacfDOuTP1lfWQ9KVttekiw6jtL4m5QNLY+7HfPCzxzkKo4PPdWsuV tXDsIICo= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-sender:x-me-sender:x-sasl-enc :x-sasl-enc; s=smtpout; bh=ydmzAyPkx94qJCzurYq6dqMGN2s=; b=SWTO/ FLRrcR3EY/boMfBJ4fmpOqL6wa5jJ173+kafKZuPIHAQDmxwkWgNIrtH43O01P3E Mur5ikd5bjIcSzWBiReFN2EysUfVQubuPLl7quBB0riX0UIinN5jIeglid3Wlex0 fonVH6GT04QMQJ0xJQv1BGl2wTP4kWPw5hujsc= X-ME-Sender: X-Sasl-enc: sGSneUxP8pepZGSX7J2jHDsYuIenAY7ecdYQFxOa+pQD 1478297747 Received: from [195.174.225.60] (unknown [195.174.225.60]) by mail.messagingengine.com (Postfix) with ESMTPA id 83DD0CCF2D for ; Fri, 4 Nov 2016 18:15:47 -0400 (EDT) From: Timur Aydin To: ffmpeg-devel@ffmpeg.org Message-ID: <9055a438-bc13-54e2-b1e5-494f6705ec70@taydin.org> Date: Sat, 5 Nov 2016 01:15:44 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] Add support for 24 bit RTSP audio playback X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Hello guys, When ffplay is used to play from the RTSP URL that serves 24 bit audio content, ffplay fails to recognize the audio codec format. The attached patch adds support for playing 24 bit audio content over RTSP by defining a dynamic payload handler for "L24". diff --git a/libavformat/rtpdec.c b/libavformat/rtpdec.c index 51feeea..c208c07 100644 --- a/libavformat/rtpdec.c +++ b/libavformat/rtpdec.c @@ -33,6 +33,12 @@ #define MIN_FEEDBACK_INTERVAL 200000 /* 200 ms in us */ +static RTPDynamicProtocolHandler l24_dynamic_handler = { + .enc_name = "L24", + .codec_type = AVMEDIA_TYPE_AUDIO, + .codec_id = AV_CODEC_ID_PCM_S24BE, +}; + static RTPDynamicProtocolHandler gsm_dynamic_handler = { .enc_name = "GSM", .codec_type = AVMEDIA_TYPE_AUDIO, @@ -114,6 +120,7 @@ void ff_register_rtp_dynamic_payload_handlers(void) 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(&l24_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);