From patchwork Sat Aug 25 12:24:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tudor Suciu X-Patchwork-Id: 10130 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:12c4:0:0:0:0:0 with SMTP id 65-v6csp4445620jap; Sat, 25 Aug 2018 05:29:55 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYo8QySoEN9hcCqxe0ID+hYQ8lxUMJKmu2+Nhi29JjXH0yVOWwaCJsg0LtkeBgQ/UHWS88J X-Received: by 2002:a1c:8406:: with SMTP id g6-v6mr1022006wmd.18.1535200195510; Sat, 25 Aug 2018 05:29:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535200195; cv=none; d=google.com; s=arc-20160816; b=ktv/G3I28bTo7whRjSRhmwduo/EKWZC5BExXpkw2L16nQDM6/DkvuGlDGR3fAY8ID1 yhvb6AYSJj8o1esmhIzEHPHKaWqY6AcoLSb+x6wJaOB4yzDvVVP38rV4NSmsODGFEqZT FtJhWbi8oSUo6Dhm/P1j0t7B5fwVEOVdG7tsIeR/yieWSW8fVTmskjtn2dL9d/EZyllG fauyOEzRVAOOOZLeaLRtUue1lU4Hm7dZ/Q2UVyjaOEeQCb8KGq8hAIiU6eNMOjuO0AbK 4sATH9TMHus+hmYmVOvoUTORGgjZL84kmZYW/HmG4reMhnexzJfqAFIJKBHvoTUMsUCX 5A0w== 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:in-reply-to:references:mime-version :dkim-signature:delivered-to:arc-authentication-results; bh=N+sOydQFcFZT87yGc8o9p2qR/w6Si4A4ynoAQjWNH/g=; b=poknPb5WO5dAP9NigOrcbggd1krn02xrNK/VgOK0BIiiCMG/y/RpR8DFmtOuqL/pT7 2vh0yynEKo/Rv1K2wrjhSBzr1xzpLIYzgkmiKfLdpaSILQ8RsmgYfkij8NrLHRw+/DxH AvITDcU5IsclFHMCEuRYdKs138n5IeGhZ65yyu+rwyoSHdiHbQEGWzusx9jXJzgRit6m 4gOMsGKJs9l+Y6ODsOErEQDpvMWsjYkf3CnDy4bYJZx82ldu6SPfbPeM72Yj5Ppmopu3 63b0FsC5puVuSpzdBL8olc/55c84Jd1JIbnFg/DOfzg0ogdzfZabWYMqf9acp5D1+YrM uNpw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=GgOvO4M3; 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=QUARANTINE 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 m78-v6si2940272wmd.110.2018.08.25.05.29.54; Sat, 25 Aug 2018 05:29:55 -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=GgOvO4M3; 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=QUARANTINE 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 9B714689C92; Sat, 25 Aug 2018 15:29:50 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8605C68830A for ; Sat, 25 Aug 2018 15:29:44 +0300 (EEST) Received: by mail-lj1-f181.google.com with SMTP id v9-v6so8843290ljk.4 for ; Sat, 25 Aug 2018 05:29:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=M5R+zGXHIcUrxYrp+JkVsyirFzGFQSDwPNfBPthxGi8=; b=GgOvO4M39DpDnYtWyiOZ+Z9x7eZ7Q7xvVbqlZQmK4LSiaEANkAIubvptsYkmac3Llu f5tRp0gBXY8D9Aot/8XljnmKf3w+VOcOu5ivCRpYHA+SP3Mb9i3QlxTdwJ4qc+HgK2I+ qAXCYU0vtKZQJN1zSe3SxF6nplOfVu93qXMD/nc7wCodQxitSLHT+D69/k+Fpyk8w+aD L9VRuQxZYIMw60yNUkJcnmL4eyrpPKAWfjJCDqxBHspFS3YkwAbikiFZ9TjPOWFNs70E fV1SSg3FirGCfQ6RQvDrFeIqz5PZo8zmkEmMWSSmroFvsa4VWyDkmnEfkdu1m42TK06B sVaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=M5R+zGXHIcUrxYrp+JkVsyirFzGFQSDwPNfBPthxGi8=; b=MK8drcRcDLTzUNxEgkEH3xLkZzEEbvHYYHgMywIc6Xm1irM6IGqc70W+3wsRcFvOmj 3zw7EE1qJAt2gTdqddqLEgLl7BlSaUCMVkf+d9gVl9x3h+LI/zWlaihSHLOkG5zXaX6k m19E5tzYvzViBsAugxl9km9J/HIIEwZnmIQea1sejeVje74TCkRXt4LLAgkDnTKK5vKd fC3j958YH29KP2obPv0pyYPCPzhueTFou1CzOL/p7IsDHhkifryejNwiMnftfbA7F75G crHV50f6dCXyUFuFrowXIfSm6kPsFbWZbSHFUFI0z8WEdMozjgXtWUnJ6jlbaTtYzEil ZRsw== X-Gm-Message-State: APzg51C1QMmbBqBolMbD4sBJ4VkVDoo8tWWlrTfNoIQV8z4zFi2NbtBB 3feb0ja8pxbkaU6pCL24H7uP24UCcTSscHG92GCmtbtwkWY= X-Received: by 2002:a2e:9e17:: with SMTP id e23-v6mr3810797ljk.14.1535199854674; Sat, 25 Aug 2018 05:24:14 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Tudor Suciu Date: Sat, 25 Aug 2018 14:24:08 +0200 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: Re: [FFmpeg-devel] make work (live) libsrt 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 Marton, The new version takes into account your remarks, modifications. Regards, From 11cd8cf4bedecc88700424f1a0782beafe70c9f1 Mon Sep 17 00:00:00 2001 From: Tudor Suciu Date: Sat, 25 Aug 2018 14:06:57 +0200 Subject: [PATCH] add pkt_length to libsrt --- doc/protocols.texi | 7 +++++++ libavformat/libsrt.c | 8 ++++++++ 2 files changed, 15 insertions(+) diff --git a/doc/protocols.texi b/doc/protocols.texi index e9091e068c..076ec5bc14 100644 --- a/doc/protocols.texi +++ b/doc/protocols.texi @@ -1263,6 +1263,13 @@ Not required on receiver (set to 0), key size obtained from sender in HaiCrypt handshake. Default value is 0. +@item pkt_size=@var{bytes} +Set maximum send pkt_size size, expressed in bytes. +Libsrt expects by default payloads of 1316 bytes. +Libsrt could be configured up to maximum usefull payload +size in ethernet packets of 1456. The libsrt documents it +as MTU(1500) - UDP.hdr(28) - SRT.hdr(16). + @item recv_buffer_size=@var{bytes} Set receive buffer size, expressed in bytes. diff --git a/libavformat/libsrt.c b/libavformat/libsrt.c index 0f9529d263..ca6989f316 100644 --- a/libavformat/libsrt.c +++ b/libavformat/libsrt.c @@ -48,6 +48,7 @@ typedef struct SRTContext { int64_t listen_timeout; int recv_buffer_size; int send_buffer_size; + int pkt_size; int64_t maxbw; int pbkeylen; @@ -73,6 +74,7 @@ static const AVOption libsrt_options[] = { { "listen_timeout", "Connection awaiting timeout", OFFSET(listen_timeout), AV_OPT_TYPE_INT64, { .i64 = -1 }, -1, INT64_MAX, .flags = D|E }, { "send_buffer_size", "Socket send buffer size (in bytes)", OFFSET(send_buffer_size), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, .flags = D|E }, { "recv_buffer_size", "Socket receive buffer size (in bytes)", OFFSET(recv_buffer_size), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, .flags = D|E }, + { "pkt_size", "Maximum SRT packet size", OFFSET(pkt_size), AV_OPT_TYPE_INT, { .i64 = 1316 }, 1, INT_MAX, .flags = D|E }, { "maxbw", "Maximum bandwidth (bytes per second) that the connection can use", OFFSET(maxbw), AV_OPT_TYPE_INT64, { .i64 = -1 }, -1, INT64_MAX, .flags = D|E }, { "pbkeylen", "Crypto key len in bytes {16,24,32} Default: 16 (128-bit)", OFFSET(pbkeylen), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 32, .flags = D|E }, { "passphrase", "Crypto PBKDF2 Passphrase size[0,10..64] 0:disable crypto", OFFSET(passphrase), AV_OPT_TYPE_STRING, { .str = NULL }, .flags = D|E }, @@ -442,6 +444,9 @@ static int libsrt_open(URLContext *h, const char *uri, int flags) if (av_find_info_tag(buf, sizeof(buf), "oheadbw", p)) { s->oheadbw = strtoll(buf, NULL, 10); } + if (av_find_info_tag(buf, sizeof(buf), "pkt_size", p)) { + s->pkt_size = strtol(buf, NULL, 10); + } if (av_find_info_tag(buf, sizeof(buf), "tsbpddelay", p)) { s->tsbpddelay = strtol(buf, NULL, 10); } @@ -466,6 +471,9 @@ static int libsrt_open(URLContext *h, const char *uri, int flags) } } } + if (flags & AVIO_FLAG_WRITE) { + h->max_packet_size = s->pkt_size > 0 ? s->pkt_size : 1316; + } return libsrt_setup(h, uri, flags); } -- 2.11.0