From patchwork Wed Jun 2 07:10:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 28045 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:b214:0:0:0:0:0 with SMTP id b20csp280608iof; Wed, 2 Jun 2021 00:10:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzrJ1NHDOIAnl6BhwNh0nhSCyyuITlG2kCKKkBU2MLoCU3R4WkbbB0nNGJMOIv36cSwWSmj X-Received: by 2002:a17:906:530e:: with SMTP id h14mr15897866ejo.165.1622617856965; Wed, 02 Jun 2021 00:10:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1622617856; cv=none; d=google.com; s=arc-20160816; b=f9+YMzQKY96C2vDDFPWRHYmXbs1yZubFrIAYvXS+v4G0kT0/OiqhgUljLqYN6xmcYX 0XWFjlO7Hv15NdAo44kISu3pOEy7pyWCW7JrU+UA5DvzIzvZwxsAuELL3HSXrqBKtR69 68jnYkRCeHhgT23aaGLFXR3/XpFxlHv8Nq6N5XxgNbUZvh8g7mi8xS/q7qgp2pA5JOf9 +3/bxVqRY5fZO0OVTMvTB1Tn+AzTqSWH41V0CJF6oy/XCINfZlnF7il4SLpwdCr5fqWc MIL29M/iUVk5pTmNv62aoyx5H96RjTxX+6vqv9HAKH7YL3ihqs63fLFoj0McResSHBAZ cmTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=l+FlRjXI2V+wFOg496mRNFB1oD7cScOrafTeDn27J/4=; b=FSp4f52F6WIkXBDjlFOY7SnTKkpxPppYOfRxkdgQpjpsPV96Rmg409L6L8DNv7L7hC lM4GtNHDJCvobI/AknsWo/U74rg/xrmFnFjQer9FIm0iyAn+KcInScGfNj8YoM7o2k1F WwvnsiVIb1gu2UFz0v8pt8gzf9LHkpL3HWf/B+zsBSYCrhJn+3jHt1f6gLvvc46KbWZz XlxsP0Bm2gGYXN/JqL7mHbPX4WR/CPokIXQdY9KO+DaYpfmQkI+IRlvGeXBwA78fTPCX 1nCxay3m4mBZxkQjw4WeCZASpPYDJ/iFD5SBH3dYm7hwuyms8SzPj/lRUm3bBa9/tAxc u4zg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=yqYvY6gx; 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=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id l14si11518564eji.721.2021.06.02.00.10.56; Wed, 02 Jun 2021 00:10:56 -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=@foxmail.com header.s=s201512 header.b=yqYvY6gx; 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=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4D37B689FD1; Wed, 2 Jun 2021 10:10:49 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-236.mail.qq.com (out203-205-221-236.mail.qq.com [203.205.221.236]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A9204680910 for ; Wed, 2 Jun 2021 10:10:41 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1622617838; bh=5zcR1uEb+GifJRbfxeVbCiDE5pFHHZ1oxErg/7V/5wU=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=yqYvY6gx2oSAKWRZiYuVgfg2rDDzcXZ0jmL9AN8/jveVfpebF9/oEOA2RPH3oQTTL 5tHL5fsO4S2DB7cwUn7d1h3YiSenLtMRajvGBEY3qp08bu4qlE3K/qDtELZjkRv5CD 4kjCnESuKNpjeN6YJNjj7SI5sSl4Cm5k3A4d3/Gc= Received: from ZHILIZHAO-MB2.tencent.com ([113.108.77.64]) by newxmesmtplogicsvrsza23.qq.com (NewEsmtp) with SMTP id 2879506B; Wed, 02 Jun 2021 15:10:07 +0800 X-QQ-mid: xmsmtpt1622617809tg7o866io Message-ID: X-QQ-XMAILINFO: MsmS/ADJ9aklMLpPtsD+w07xr7/h40XUe4dCtq1RAejqM88oNzzuktRB3vmI+e M32V1vGvHo12EZ5ghLegVa+Vv1WXoFBZGoam6JiHUxoAkN8qMOBSEgRxcs+hs3h4xhVDYvN9QdC8 DmMJDPbL/aBI4PQ06Z8yPhofbkyxxxlJSyFvIMmqzhzAY2KyXLhJexQtC8QI44H58pg43+YFTV40 04xgIiLzFKw+z5lDfecmg4iNyQtrijzfb0ujb8jiwNSez1zPyZJkMnk0hLA05rZsCtT99tqI3lkY 73TzwmJCZwMlZOM03mVUaWbbP2aNyXlI7PFl1cH0eijv/ECzE65avWv+Tq6jgGm3IaU9uD1Vwl6J /zlmQDez9DH8hSl9eWm+fkPLXNMem7uyCKuxcfsfrRlrcSaY1OpmE2+MRmyYtE9B9ksdbMjwDhWw vxiH7Fp7nUeusnMaC1Rg1a2bZ/p4VDAjIcpZbae6DWKbx5/odXcygq7NbEuZmYQBWU97ZXGW9VD+ LU3DzPreh68Uo7SqW0FBLbFslpvMsIcwrxOQp9A9CqQt4CaiE1h/ZTryEi4Q6daNQaKdSuo0s/vH AQJ5ra54pQlzJsNVGDV0A2vRr81qTtpP0SNYL2ADgwa0aeKXBmnFqOuOJcT6c3ENWK+kRrOoRAV1 Yi82yo+z1FWQLSkcj1yg8AFKie+IiRyz6HDwtGz8IZMNdat5+63C4TAsMa5EfMgoVeXgCVYjpQFF TKuk3SDOlFMvZBaRApCjJ4Gf0E545EOPOLuztPhoEiSbMIm3VTpbiAWbItogpNaOXxRntktYg/kf YD8XBJXccGlg== From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Wed, 2 Jun 2021 15:10:02 +0800 X-OQ-MSGID: <20210602071002.1740-2-quinkblack@foxmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210602071002.1740-1-quinkblack@foxmail.com> References: <20210602071002.1740-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] avformat/libsrt: add tsbpd option X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Cc: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: tuvWKD4GIWqU From: Zhao Zhili --- libavformat/libsrt.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavformat/libsrt.c b/libavformat/libsrt.c index edebb49edf..3a57ac53cb 100644 --- a/libavformat/libsrt.c +++ b/libavformat/libsrt.c @@ -90,6 +90,7 @@ typedef struct SRTContext { int messageapi; SRT_TRANSTYPE transtype; int linger; + int tsbpd; } SRTContext; #define D AV_OPT_FLAG_DECODING_PARAM @@ -140,6 +141,7 @@ static const AVOption libsrt_options[] = { { "live", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = SRTT_LIVE }, INT_MIN, INT_MAX, .flags = D|E, "transtype" }, { "file", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = SRTT_FILE }, INT_MIN, INT_MAX, .flags = D|E, "transtype" }, { "linger", "Number of seconds that the socket waits for unsent data when closing", OFFSET(linger), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, .flags = D|E }, + { "tsbpd", "Timestamp-based packet delivery", OFFSET(tsbpd), AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, .flags = D|E }, { NULL } }; @@ -349,7 +351,8 @@ static int libsrt_set_options_pre(URLContext *h, int fd) #endif (s->messageapi >= 0 && libsrt_setsockopt(h, fd, SRTO_MESSAGEAPI, "SRTO_MESSAGEAPI", &s->messageapi, sizeof(s->messageapi)) < 0) || (s->payload_size >= 0 && libsrt_setsockopt(h, fd, SRTO_PAYLOADSIZE, "SRTO_PAYLOADSIZE", &s->payload_size, sizeof(s->payload_size)) < 0) || - ((h->flags & AVIO_FLAG_WRITE) && libsrt_setsockopt(h, fd, SRTO_SENDER, "SRTO_SENDER", &yes, sizeof(yes)) < 0)) { + ((h->flags & AVIO_FLAG_WRITE) && libsrt_setsockopt(h, fd, SRTO_SENDER, "SRTO_SENDER", &yes, sizeof(yes)) < 0) || + (s->tsbpd >= 0 && libsrt_setsockopt(h, fd, SRTO_TSBPDMODE, "SRTO_TSBPDMODE", &s->tsbpd, sizeof(s->tsbpd)) < 0)) { return AVERROR(EIO); }