From patchwork Tue Oct 24 21:10:22 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carl Eugen Hoyos X-Patchwork-Id: 5680 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.90 with SMTP id m26csp1076869jah; Tue, 24 Oct 2017 14:10:52 -0700 (PDT) X-Google-Smtp-Source: ABhQp+RK8rBL/fAo7iqXn07aoXGuiW6Yzlx0O7wT8JOElim/DPajglBbHC068lYD+I1tPXN0chL+ X-Received: by 10.28.60.8 with SMTP id j8mr85554wma.92.1508879452783; Tue, 24 Oct 2017 14:10:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1508879452; cv=none; d=google.com; s=arc-20160816; b=w3os/D6QPHuRTa+1aWGXoj5GRz72d57lwQ9g/zn/ITMeXlUnLaFfPyJ9Q/QYG/Ftfx ga/AAYkiA7Ti1YyLfcoPZjIWrZt6bPxRHiFbbLqJaAeY05A4yx0l3Vk6stb3hGy0RnE2 ycLFwMtMSik2nIf7lX3+C7gpcuonrcjx2oA3KPjMifi/7C12Na0yq1Bh8G1+5lz3xZKc nl3fVf+tDcs0TMZ0QPRCcFkd9ixOtNQc9H7WLJAR89cf5NbusFM/trVt+HIcDP2hcrda U6BzP5dqoamCE4IoY9JuYwXNlqjNFwLnd1k3eD1qn4/T8cpEL0kGmM0pzuPQEVjn1N/G Zxdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:to :message-id:date:from:mime-version:dkim-signature:delivered-to :arc-authentication-results; bh=TtVPEqgefOH+2aJbCM7Jrz0WvwdPROlse/xCR1tMoLk=; b=cfwbXVcvO1iWG4sFwB0Du3p172icZRA1ibBfcdOuOajyebDwd+nTnxvLwTzO9y3Y6E FOyeMuvWw7HYN8cO0uPSKoJxnZ5cOb8sd13Y1A8v3w8FtHyoDx5O8L5agJKyYOD2WIoQ 8zlm5XN22aK0vETpO4fQh3UeLrAqk+mgAQNXiLgsyAGWLHNNaEJolMD6Bxf6dZg8smSP Q9DO4SzMfuxsOJj5+vsGMKjT6PT6xY/b9HWc6pZtKKuLYIVIFljbVBxgO6G6AHgIpGXQ hRTY9n2NlAIavbG5K6jAJo0CNnufzyGsoe9dhlNVr6ZGWgx0xw3Xg1OYu++9Fuai55DY BbLA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=TVeiTQCY; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id f47si806869wra.498.2017.10.24.14.10.51; Tue, 24 Oct 2017 14:10:52 -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=@gmail.com header.s=20161025 header.b=TVeiTQCY; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A3320689F78; Wed, 25 Oct 2017 00:10:43 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-it0-f43.google.com (mail-it0-f43.google.com [209.85.214.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 56F57689DFC for ; Wed, 25 Oct 2017 00:10:37 +0300 (EEST) Received: by mail-it0-f43.google.com with SMTP id y15so11671946ita.4 for ; Tue, 24 Oct 2017 14:10:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=9Cn+4qtbhHXJDSdKOVHgmqSWqaCtMOQL/2BPaxEcql8=; b=TVeiTQCYcE0/RC1FwPX9qM+qso/fxO+kET4qIy9m9pO3rHckseUCXMe3xNQQsEng0S GgrMqjiJPBlXDD9GnNK4fSzJO+9xpCdQNQU1gP/gOlcdyfV9P/jS8QJVZfgpsYJbztw8 VUxPdg21OGqEDEWYp6rdTIpuRzEPx9BmrBaUCC+QZ5OBKUlF0ZAnL7ID0/3/Ugjz+RRn 422qI+z++7ke6bZBjkd8sFVZ8ipO/x1ZXc3JQ9HS4o/Sviz7OWHYVZ7hPlGYgCuj0Xgz uwBkxj8gAUTcSN3Irdy0xl/uHzfrx8mlDF45HSVT+i349JXrgugTnsF3468dM/Eq6i5p lYWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=9Cn+4qtbhHXJDSdKOVHgmqSWqaCtMOQL/2BPaxEcql8=; b=DT8l1K8TWAv+YlLcvNcjw1QTBduDyK0dfOcEDLPDuUhrFn4bbDlKcFATOrBVE+hw2E fnQOuMySiFURtumgRPgbyHgj2UtRzokOQoStP5Ge/yJoYtM1lYvZlDnSmEhZIQWkvcE0 nTdtcrA12AlkP/hY0vODLdc5yhpcTSbx/Sm5JSBvn8e1tHJfqbgEXJBuVNTe2eiGm433 zn/FhlFSiVYlEU+f47zX/XpPXXEFTEFVUWv+r5W6035zKde1tjXXA02a3xOwMX1iCVSI ADDQFYQ8JC34EA2g8QGlaEJuBhM5Ic/DTwgGei0/7aQRD4cU9R/7s5bZPJRrCeEPCmcB YC1w== X-Gm-Message-State: AMCzsaWIjjUNTDgzT7XKpGqwJpk0dqIOODvqhdkTkAuWPiS0KWJYSC8K 1hNqKxXZWE2z5sHkLy9y0/dk0aB4000gNRST9Kc= X-Received: by 10.36.185.21 with SMTP id w21mr190520ite.35.1508879443281; Tue, 24 Oct 2017 14:10:43 -0700 (PDT) MIME-Version: 1.0 Received: by 10.2.63.101 with HTTP; Tue, 24 Oct 2017 14:10:22 -0700 (PDT) From: Carl Eugen Hoyos Date: Tue, 24 Oct 2017 23:10:22 +0200 Message-ID: To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH]lavf/rtpenc: Add support for 24 bit pcm encoding 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" Hi! Attached patch allows sending pcm_s24be over rtp, defined in rfc 3190. Please comment, Carl Eugen From 488a5065dac2ab04d03694b9086fd329421840cc Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Tue, 24 Oct 2017 23:03:02 +0200 Subject: [PATCH] lavf/rtpenc: Add support for 24 bit pcm encoding as defined by RFC 3190. Fixes ticket #6770. --- libavformat/rtpenc.c | 3 +++ libavformat/sdp.c | 6 ++++++ libavformat/version.h | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c index 573593f..63047be 100644 --- a/libavformat/rtpenc.c +++ b/libavformat/rtpenc.c @@ -66,6 +66,7 @@ static int is_supported(enum AVCodecID id) case AV_CODEC_ID_PCM_S8: case AV_CODEC_ID_PCM_S16BE: case AV_CODEC_ID_PCM_S16LE: + case AV_CODEC_ID_PCM_S24BE: case AV_CODEC_ID_PCM_U16BE: case AV_CODEC_ID_PCM_U16LE: case AV_CODEC_ID_PCM_U8: @@ -544,6 +545,8 @@ static int rtp_write_packet(AVFormatContext *s1, AVPacket *pkt) case AV_CODEC_ID_PCM_S16BE: case AV_CODEC_ID_PCM_S16LE: return rtp_send_samples(s1, pkt->data, size, 16 * st->codecpar->channels); + case AV_CODEC_ID_PCM_S24BE: + return rtp_send_samples(s1, pkt->data, size, 24 * st->codecpar->channels); case AV_CODEC_ID_ADPCM_G722: /* The actual sample size is half a byte per sample, but since the * stream clock rate is 8000 Hz while the sample rate is 16000 Hz, diff --git a/libavformat/sdp.c b/libavformat/sdp.c index 0242ca3..e714916 100644 --- a/libavformat/sdp.c +++ b/libavformat/sdp.c @@ -584,6 +584,12 @@ static char *sdp_write_media_attributes(char *buff, int size, AVStream *st, int payload_type, p->sample_rate, p->channels); break; + case AV_CODEC_ID_PCM_S24BE: + if (payload_type >= RTP_PT_PRIVATE) + av_strlcatf(buff, size, "a=rtpmap:%d L24/%d/%d\r\n", + payload_type, + p->sample_rate, p->channels); + break; case AV_CODEC_ID_PCM_MULAW: if (payload_type >= RTP_PT_PRIVATE) av_strlcatf(buff, size, "a=rtpmap:%d PCMU/%d/%d\r\n", diff --git a/libavformat/version.h b/libavformat/version.h index 0feb788..8ae091f 100644 --- a/libavformat/version.h +++ b/libavformat/version.h @@ -33,7 +33,7 @@ // Also please add any ticket numbers that you believe might be affected here #define LIBAVFORMAT_VERSION_MAJOR 58 #define LIBAVFORMAT_VERSION_MINOR 0 -#define LIBAVFORMAT_VERSION_MICRO 100 +#define LIBAVFORMAT_VERSION_MICRO 101 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \ LIBAVFORMAT_VERSION_MINOR, \ -- 1.7.10.4