From patchwork Wed Aug 19 07:06:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter van der Spek X-Patchwork-Id: 21734 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 80DF644AE46 for ; Wed, 19 Aug 2020 10:13:59 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 64E086882B6; Wed, 19 Aug 2020 10:13:59 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f196.google.com (mail-lj1-f196.google.com [209.85.208.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B7B4E68096F for ; Wed, 19 Aug 2020 10:13:53 +0300 (EEST) Received: by mail-lj1-f196.google.com with SMTP id 185so24179576ljj.7 for ; Wed, 19 Aug 2020 00:13:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bluebillywig-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=74dmgn4cFKauGgH4qxe8hrrymZfLiBogymCZC6hI71Q=; b=vLCceFt2S7xW032qQRvmiiDk+DP7icEeELWOOGb4ZFNvEiaXD9jk4fQMj7w2/ucy44 eboM59e2MOTQ/t6khy9rL6KrMNNj0ZgPpNtopJta9Z9apU2ixmjvwENfyeQyhw52dT7U DGihObx/EI7Z3ykXXCYjENAkZCB7AI+L9GhD8ktA1VUZR3IgjNFZIEvD9yMSs/YS6bNp jhCpaHdaCnUi27qn7pYKbterZZLcklek0Vor8CWWZgKXrkrf1g8a0Q/vhpS+omcC6dKX liZSuPWorQV4lUp1NxCYLdzWHS0c8EoWxIkPz6zI8wFmNCOHCykB6eNSLZYbFPyqGpx8 DIJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=74dmgn4cFKauGgH4qxe8hrrymZfLiBogymCZC6hI71Q=; b=PTSFsXpQzWYrlOkbRG+wZkPojUO+5aTfXpYIX+brpekTI012PWEgG8MA5YuXNVudBv FL7hGn7HsffnAD6oQyz6v6nrqfPCB6KK17HdwraaRziD/m1hSqp/MmW6c0JLEdNiwutR LL3e3YmpvoLzq4WRxFj6U562EJZ0+w4rL3EPFA9neYc2ySDipqtaY30mc+DWCA5vxdH8 RBwR6Nx3Gly/cpiDcrJAKjOONrPOajeJchEOaYzJOIPN9w9joES90RIv6lzAt2K4+HM8 FhrrOspr74hR/LNUuVi6X+2zBUXvzblIwU/YGIGSV733T+ZMxx+Km8pbFt130yq9Kr50 zoxw== X-Gm-Message-State: AOAM533wFx+bPUlmgT5NBnadLiUiJlMBp5BEkgAA5xnaDBmuaxNgcZgV 65vwjMYWyW7Fq0oD4VDxIOoO3p2yEHUZydjS X-Google-Smtp-Source: ABdhPJxzdiw65k0O5zeZ9sM++JLZ+KM/vxgm7UZwzKt1XkYlluW4BMIoeY95zIC57JCy7zLDtpyJMA== X-Received: by 2002:a50:ee96:: with SMTP id f22mr22332811edr.243.1597820823995; Wed, 19 Aug 2020 00:07:03 -0700 (PDT) Received: from localhost.localdomain ([77.173.209.166]) by smtp.gmail.com with ESMTPSA id h16sm17706664ejf.120.2020.08.19.00.07.02 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Aug 2020 00:07:03 -0700 (PDT) From: Peter van der Spek To: ffmpeg-devel@ffmpeg.org Date: Wed, 19 Aug 2020 09:06:54 +0200 Message-Id: <20200819070654.15978-1-p.vanderspek@bluebillywig.com> X-Mailer: git-send-email 2.10.1 In-Reply-To: <20200817092508.97973-1-p.vanderspek@bluebillywig.com> References: <20200817092508.97973-1-p.vanderspek@bluebillywig.com> Subject: [FFmpeg-devel] [PATCH] avformat/flvdec: RtmpSampleAccess no longer breaks stream detection 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 Cc: Peter van der Spek MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Since release 4.2, FFmpeg fails to detect the correct streams in an RTMP stream that contains a |RtmpSampleAccess AMF object prior to the onMetaData AMF object. In the debug log it would show "[flv] Unknown type |RtmpSampleAccess". This functionality broke in commit d7638d8dfc3c4ffd0dc18a64937a5a07ed67b354 as unknown metadata packets now result in an opaque data stream, and the |RtmpSampleAccess packet was an "unknown" metadata packet type. With this change the RTMP streams are correctly detected when there is a |RtmpSampleAccess object prior to the onMetaData object. Signed-off-by: Peter van der Spek --- libavformat/flvdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index 0862273..d480d0b 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -715,7 +715,7 @@ static int flv_read_metabody(AVFormatContext *s, int64_t next_pos) if (!strcmp(buffer, "onCaptionInfo")) return TYPE_ONCAPTIONINFO; - if (strcmp(buffer, "onMetaData") && strcmp(buffer, "onCuePoint")) { + if (strcmp(buffer, "onMetaData") && strcmp(buffer, "onCuePoint") && strcmp(buffer, "|RtmpSampleAccess")) { av_log(s, AV_LOG_DEBUG, "Unknown type %s\n", buffer); return TYPE_UNKNOWN; }