From patchwork Tue Sep 13 14:09:48 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steven Liu X-Patchwork-Id: 562 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.140.134 with SMTP id o128csp2159598vsd; Tue, 13 Sep 2016 07:10:04 -0700 (PDT) X-Received: by 10.28.12.133 with SMTP id 127mr5169307wmm.119.1473775803915; Tue, 13 Sep 2016 07:10:03 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id dy16si20975541wjb.176.2016.09.13.07.10.00; Tue, 13 Sep 2016 07:10:03 -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; 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 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 B9CCF689DD9; Tue, 13 Sep 2016 17:09:45 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk0-f196.google.com (mail-qk0-f196.google.com [209.85.220.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A709B689C80 for ; Tue, 13 Sep 2016 17:09:38 +0300 (EEST) Received: by mail-qk0-f196.google.com with SMTP id b204so4670173qkc.1 for ; Tue, 13 Sep 2016 07:09:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:from:date:message-id:subject:to; bh=nmj+idiG9YKcP5fDu9O1VnBJ8MFH7UNPrEIOMpSQtqQ=; b=cARRFFOw+ytM9blMV5K5r4CtjzRz/l//okyM2HRFdFp1YyQ6Mnu5PJ+iQFTYkN5jHw VHbA9eDZD7UgRuBwd3T158Hrbav2XiyG21JkD8qEvMbYPAtzJxHeLCfYc9j09q++vL38 XHHeddhy9Z3vWlJKCXH3GUfodGhFjoPq4fkV0K+LQ288PUa1yhFUUQBChGPatzfoL9kH qai/J+JmT8OaZo4pzDfKWCa/835RyfS0StzcT8YtPMDy1/nQW5LGGANQjEvZWhhBp5L1 eXdfoqFgegENm0ZWXGq0xcqUdzkLn/wmrj4K0VGCMoEUY+3kUYy3+ksmli0zmmgzv2R2 IIXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=nmj+idiG9YKcP5fDu9O1VnBJ8MFH7UNPrEIOMpSQtqQ=; b=CWbyaexDCyiLyJMbu9KoSHEPgfmShLfcNoDB+gf4YSzvsxE24gBUFY6bo9UhFlx198 1MPvBLHtHrNqElmNx9UTEYfGCTBWKU57iJBtAdIC3O0Q959aNo/seCHuiOH+kzUEjBXa jb2S64LfPbmMWd8gMSnkr87VgIQBbx+nQQQ4jfjPpj9JOoA+z/5R9SdEBXjJREVkQBlK ApWZu4I5o0upFBPhjp0Dku9+zrj//KGTRgLutFFTfTLddjBaY2eNBag1ffR81WL+0oKE M9cF4eSC+X0O4a9Ic+pPe3Ka6NEfAkN/nt/WgOe1zKUt2EOgurhdGmA+e/hXYWgcPpod OG4A== X-Gm-Message-State: AE9vXwP4RfTJzVPFTXfJiV8SwflYHv/5M8Z8a42VcZoYj3TdXMrOVgUEx0K1I04x8/YhuWxTy+ke6c6cT8F81g== X-Received: by 10.55.161.81 with SMTP id k78mr1174860qke.105.1473775789498; Tue, 13 Sep 2016 07:09:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.237.56.42 with HTTP; Tue, 13 Sep 2016 07:09:48 -0700 (PDT) From: Steven Liu Date: Tue, 13 Sep 2016 22:09:48 +0800 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: [FFmpeg-devel] [PATCH 1/2] avformat/flvenc: add FLVFlags for flvflags options 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" add FLVFlags type, be used to add new FLVFlags options Signed-off-by: Steven Liu --- libavformat/flvenc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) int samplerate_index; int channels = flv->audio_par->channels @@ -718,7 +722,7 @@ static int flv_write_packet(AVFormatContext *s, AVPacket *pkt) static const AVOption options[] = { { "flvflags", "FLV muxer flags", offsetof(FLVContext, flags), AV_OPT_TYPE_FLAGS, {.i64 = 0}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "flvflags" }, - { "aac_seq_header_detect", "Put AAC sequence header based on stream data", 0, AV_OPT_TYPE_CONST, {.i64 = 1}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "flvflags" }, + { "aac_seq_header_detect", "Put AAC sequence header based on stream data", 0, AV_OPT_TYPE_CONST, {.i64 = FLV_AAC_SEQ_HEADER_DETECT}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "flvflags" }, { NULL }, }; -- 2.7.4 (Apple Git-66) diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c index ccbcf64..a3623f8 100644 --- a/libavformat/flvenc.c +++ b/libavformat/flvenc.c @@ -61,6 +61,10 @@ static const AVCodecTag flv_audio_codec_ids[] = { { AV_CODEC_ID_NONE, 0 } }; +typedef enum { + FLV_AAC_SEQ_HEADER_DETECT = (1 << 0), +} FLVFlags; + typedef struct FLVContext { AVClass *av_class; int reserved; @@ -364,7 +368,7 @@ static void flv_write_codec_header(AVFormatContext* s, AVCodecParameters* par) { avio_w8(pb, get_audio_flags(s, par)); avio_w8(pb, 0); // AAC sequence header - if (!par->extradata_size && flv->flags & 1) { + if (!par->extradata_size && flv->flags & FLV_AAC_SEQ_HEADER_DETECT) { PutBitContext pbc;