From patchwork Wed Mar 4 22:26:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul B Mahol X-Patchwork-Id: 18024 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 6FFA64484CE for ; Thu, 5 Mar 2020 00:26:57 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4EBB368B4A0; Thu, 5 Mar 2020 00:26:57 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 41BB768AF69 for ; Thu, 5 Mar 2020 00:26:51 +0200 (EET) Received: by mail-wr1-f67.google.com with SMTP id v2so4495286wrp.12 for ; Wed, 04 Mar 2020 14:26:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=R/xuZ0v3DyaVcoapVA+0NJqmRKahOJTqDxNp2RNEWTg=; b=KKvFQzeJfjOSrn+3Zi/CTuSWT2cqL6rF9dz1HLJgpFaU67TAdzlRasNqfTY+9gLuWr jDTkVzUjDim/oDoTY123thkWD+FxyH+fKzlzqGXPSkh9NA50wUb7XBHOi28ZpYbpp45z lA28FxHvjtv6ZTZxoFJAGzO0tP7RM3pomnz9LkecyjtEVR1UpyEzse8dqeC5LH3OeO8S Mch5i7iKJwDifP1np3w+r2ujcOp5FYg6vgjcVg+03zPtgNRxXhnFLoZIcLynPlEoy7XC cgMuzQADa4exgFreDrfGyh5kCCaG5bWgyJ3ya+JDiZFJ88MSzRB0jFBFaMsVbDpCZAve Pafg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=R/xuZ0v3DyaVcoapVA+0NJqmRKahOJTqDxNp2RNEWTg=; b=ep2RG2chRp5XwlN1wxSDGwsesMechksk5VDsxUjx+MpIwoCQrndAmRfyLJDHR/7en7 bNBh0bXjdOYpp3+hyMycWaDdvm8OSMEErE8fQI1cLnUTCHnLJgKxxA1VtdseS94qYIPD 9lZhu44RPmf4CbGZhY4HLKRg86GbFXwi87kfztrUqknoJHIixMZeqztnbO+bxreYtz/k 7tiELZK01/cEEJyE+bpaLYsM4d5RFtviCjOcsooGWHkSB6DPf4SGqiCT/HSSAZIQipcL 7yTjDnmyg0JrK9IVq/Dn7Yd7Jro/tl/hw1/I+BeNQJkcHwedyAfcJdQJfGvlCxZq5m0p quyg== X-Gm-Message-State: ANhLgQ2iDeaKZeT/6i7fumfahP49vGzjl7jgwfxK5H+hFjVxNTYft0hK OQGFQWGhJqfCwto0dUPaPVdUDPsk X-Google-Smtp-Source: ADFU+vuonrglliMAWjwKGH00dnKE5gyQdtb3tVqLABsxhql1mJ/nYI6nAORF9kDT2Row79O0fFwJLA== X-Received: by 2002:adf:ed42:: with SMTP id u2mr6298602wro.345.1583360810357; Wed, 04 Mar 2020 14:26:50 -0800 (PST) Received: from localhost.localdomain ([109.227.41.139]) by smtp.gmail.com with ESMTPSA id 133sm6618096wmd.5.2020.03.04.14.26.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2020 14:26:49 -0800 (PST) From: Paul B Mahol To: ffmpeg-devel@ffmpeg.org Date: Wed, 4 Mar 2020 23:26:33 +0100 Message-Id: <20200304222633.12177-3-onemda@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200304222633.12177-1-onemda@gmail.com> References: <20200304222633.12177-1-onemda@gmail.com> Subject: [FFmpeg-devel] [PATCH 3/3] mpegts hack 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Paul B Mahol --- libavformat/mpegts.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 7f56bacb2c..782f13fe4f 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -955,8 +955,8 @@ static int mpegts_set_stream_info(AVStream *st, PESContext *pes, (st->request_probe > 0 && st->request_probe < AVPROBE_SCORE_STREAM_RETRY / 5)) && st->probe_packets > 0 && stream_type == STREAM_TYPE_PRIVATE_DATA) { - st->codecpar->codec_type = AVMEDIA_TYPE_DATA; - st->codecpar->codec_id = AV_CODEC_ID_BIN_DATA; + st->codecpar->codec_type = pes->stream_type == 6 ? AVMEDIA_TYPE_AUDIO : AVMEDIA_TYPE_DATA; + st->codecpar->codec_id = pes->stream_type == 6 ? AV_CODEC_ID_AC4 : AV_CODEC_ID_BIN_DATA; st->request_probe = AVPROBE_SCORE_STREAM_RETRY / 5; } @@ -2062,6 +2062,13 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type av_dict_set(&st->metadata, "language", language, 0); } } + if (ext_desc_tag == 0x15) { /* AC-4 descriptor */ + st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO; + st->codecpar->codec_id = AV_CODEC_ID_AC4; + st->request_probe = 0; + + st->internal->need_context_update = 1; + } break; case 0x6a: /* ac-3_descriptor */ {