From patchwork Fri Dec 7 10:06:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Artyom Lebedev X-Patchwork-Id: 11325 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 901E344DB99 for ; Fri, 7 Dec 2018 12:06:45 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D7E0268A6F3; Fri, 7 Dec 2018 12:06:35 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A59DF68A630 for ; Fri, 7 Dec 2018 12:06:29 +0200 (EET) Received: by mail-lf1-f43.google.com with SMTP id l10so2585129lfh.9 for ; Fri, 07 Dec 2018 02:06:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-language; bh=/jmaFStt5muUI/3S0NfSzM+9Pwpo6MHF6rs/2fFdKbU=; b=gZgkF0yQUaaKZdOI0oWQYUTMZaVrB7lKM/GHnQOoSbibP1Taqs1CNLk4CfgDXt5xdl 4XFGQEUjVfceyUhOb9wXQEwZ5oU5A7SrJYjj0ikCeGPqUd42HxNpy1p6FTUMcb3P4XBs 9Fbs4JRFsku5Bapipa0KByAaH9iZFRguOd6sAaRsk/PCFNrdwT8r3VuhhFohxkV6k7ed FlUD5fZtKLuzWUyGpiRl+sp5mOe8xwy9caIEkZRnAzoqEX2GQjnU6Hvs/ONIh8n2cXkD FjMjefd+ZpPWcfk2CvwxYPEFMvMyaTohaoRFvMYeGsar6rgWrcCxXiyFmSICEOQwo6Ru SE5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-language; bh=/jmaFStt5muUI/3S0NfSzM+9Pwpo6MHF6rs/2fFdKbU=; b=q3DAU164pE44+YELD5DPUxylqPdtLHEZ5dd6NaGaW60+G6tHOkhJXT3WhLp3Nd9WfT YyQlC+hnK6gwwvG/uErIOb4xj0ae3lXIHgeO6wa+dtfbeM8OFtLtHMsbfNAhZHiGOpTC MP83zp82QLdN0jMTQDJZVBS42TWgqRdn0GRtCZbsoQdEHti9WRhAK7m/ZsnJOizsCcWe DT6QOeGkhRl+zmXcyHHaTx8wXG+uRovs9Jx9TdJz4Pl8mdugjgsJ/LkIEHLmfbv/DAyE 9HxdLbsWqUSPLNK6ThbpAR79ZtdsgXvn6AMmjqYWmDdBO1yzdwdkts6CRsQ2j5NoyCw+ +Xvg== X-Gm-Message-State: AA+aEWbQUFdSxaBxp8fSAaUZw8cxP4XkM0XDWFmLSqGLRt5xAT7A7v46 xvo69GdYXciobwD6TSJojEYsm3xm X-Google-Smtp-Source: AFSGD/X0s3qWPMDFE8M9w/8eR4PsFTfFYsPwiaqYzoN8vp+Mds5GnkBdgeDfefARUz8jB/ykqAWxHg== X-Received: by 2002:a19:750a:: with SMTP id y10mr908947lfe.43.1544177198415; Fri, 07 Dec 2018 02:06:38 -0800 (PST) Received: from [192.168.88.15] ([80.89.75.88]) by smtp.googlemail.com with ESMTPSA id c133sm570417lfc.45.2018.12.07.02.06.37 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 07 Dec 2018 02:06:37 -0800 (PST) To: ffmpeg-devel@ffmpeg.org From: Artyom Lebedev Message-ID: <5ec7a975-5a32-68b5-17ac-df00c5e0cb15@gmail.com> Date: Fri, 7 Dec 2018 12:06:36 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 Content-Language: ru-RU Subject: [FFmpeg-devel] Fix for KLV in mpegts 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" This fixes bug which prevents from proper muxing-in KLV stream into mpeg-ts. mpegtsenc.c:1526     char *side_data = NULL;     int stream_id = -1;     side_data = av_packet_get_side_data(pkt, AV_PKT_DATA_MPEGTS_STREAM_ID,                                         &side_data_size);     if (side_data)         stream_id = side_data[0]; One-byte stream ID is read from "char *" array to integer making it to sign-extend which is not correct. Although it writes it correctly to stream, since it is treated as one byte again, but it fails with some condition checks, e.g. in mpegtsenc.c:1278: if (stream_id == 0xbd) /* asynchronous KLV */     pts = dts = AV_NOPTS_VALUE; stream_id value in such case is 0xffffffbd. Fix should be changing side_data type from "char *" to "uint8_t *". From d063568a1765f40a79c6dcf44a444e83e0eb0bed Mon Sep 17 00:00:00 2001 From: Date: Fri, 7 Dec 2018 11:48:28 +0200 Subject: [PATCH] Fix bug in mpegts muxer which affects KLV async stream generation. --- libavformat/mpegtsenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 3339e26..4470b71 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -1523,7 +1523,7 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) int64_t dts = pkt->dts, pts = pkt->pts; int opus_samples = 0; int side_data_size; - char *side_data = NULL; + uint8_t *side_data = NULL; int stream_id = -1; side_data = av_packet_get_side_data(pkt, -- 2.7.4