From patchwork Wed Dec 14 23:31:24 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Wolenetz X-Patchwork-Id: 1791 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.65.86 with SMTP id o83csp445983vsa; Wed, 14 Dec 2016 15:40:30 -0800 (PST) X-Received: by 10.28.167.199 with SMTP id q190mr10210068wme.15.1481758830412; Wed, 14 Dec 2016 15:40:30 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id xu5si56722542wjb.254.2016.12.14.15.40.29; Wed, 14 Dec 2016 15:40:30 -0800 (PST) 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=@google.com; dkim=neutral (body hash did not verify) header.i=@chromium.org; 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=chromium.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 08B7D6809A1; Thu, 15 Dec 2016 01:40:22 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-io0-f171.google.com (mail-io0-f171.google.com [209.85.223.171]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8B94F6806AA for ; Thu, 15 Dec 2016 01:40:15 +0200 (EET) Received: by mail-io0-f171.google.com with SMTP id d9so54880624ioe.0 for ; Wed, 14 Dec 2016 15:40:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:sender:from:date:message-id:subject:to; bh=L8mFzTrHuiSn13k9DzaW6/0U7cvft1CVYWZq+IUPT6w=; b=ihh3e6c3gVg+1JE8GWqLwQdtim3TLisa8zDUTWhA1VFrRPOmYwNHnNin7q6R/gIvCE 9VzMIkCHinhkXMKPmQsl8JoQxGx/TljGjt0qFGHYPIrYYDMM4pR9BnHo7inAicMPkoH3 sCqWbEkW1FcTE2G/HCerd+0U9qkzMYx60gwTnDImUVcT+y43q76fA9n+SGMebGqBZh/9 WMY9i4FRdCDh7VUxOvCNo3E9HvWTBbm0ah4bd8NhYKq+B19KguA03b9pOL+Qbc+ApY6N xnqmTLLBTDKx/fwWOLGVQGJWiiksglJQoGTLeAlC50Bhh2/ukuqoZEdCGWXiIiOA/YjX fqfw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:sender:from:date:message-id:subject:to; bh=L8mFzTrHuiSn13k9DzaW6/0U7cvft1CVYWZq+IUPT6w=; b=kcYsZNjlwCR1YGJqutn8OsXKrziO0xAGH9Do64kDfjWLEoe9IVb8c1il+N0FR050yJ 0SYBc0yu61yJ1Ctp1V2ts9m5H7QUqkkOp392dP9/YbQg+/H3d7+aAfuMIWESQhUvxaK7 FnHzNnj1hBK4WMw0FcV8maoo1I6g8iFrtyW7U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:from:date:message-id:subject :to; bh=L8mFzTrHuiSn13k9DzaW6/0U7cvft1CVYWZq+IUPT6w=; b=qJVhk2ANFrgWb2twH2LxJ4bNirC6io0ZERsuV37TTqAR1afDMKz3KsjzEESRKUW0iL YLAkea/HTpMzNemeztk1SFmS+BVf/YtotmLUXEeWDCm66T+el7F29PisYTsgET8s/cAw /K6AxidHEDImmyZoSh2ie57S4M+QB4jJ+H85kJgcO/BIu+tH77Za0hXHzarLHvMGuL5S PJTK+Y5bH3RC3huzKovLsBuKkD4mfDl3DzC+qNfwAk7nU+m0X0er+zFcKqFb2XJz+1yM XZc8fRgq4gyv7hv7ye+5345wjs3FLS7djwhkm6udbVCa+6cynqvSAtvhivjW7a72w1cO Hi7g== X-Gm-Message-State: AKaTC03EihknENkLYYuldF3eAhKKvcDc00L1T7E4iSJ1RDYNjybdOJwtxEx++LI+y2Lnh6zptFoNjeFy5byLCE4D X-Received: by 10.107.44.5 with SMTP id s5mr95131323ios.10.1481758324587; Wed, 14 Dec 2016 15:32:04 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a17:908:2cd5:0:0:0:0 with HTTP; Wed, 14 Dec 2016 15:31:24 -0800 (PST) From: Matthew Wolenetz Date: Wed, 14 Dec 2016 15:31:24 -0800 X-Google-Sender-Auth: j4hzGWdRxlFEYbe_uBMRVhvJBjk Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: [FFmpeg-devel] [PATCH] lavf/wavdec.c: Fix unresolved symbols on Mac and VS2015 Update 3 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" Some toolchains failed to link a dynamic library containing wavdec.c, but with either CONFIG_SPDIF_DEMUXER or CONFIG_W64_DEMUXER disabled. This change adds #if's to explicitly exclude code rather than depend on toolchain code elision of same condition using "if". Reference https://crbug.com/591845. Adapted from 2 Chromium ffmpeg patches for code style: b281073a7b1ccff67b2cd8ec636facceeeb82327 5d76f94a515900260f185d5949f72ed6fa4bdd94 From 77add30b68373c2862520513cb7992b03352b9af Mon Sep 17 00:00:00 2001 From: Matt Wolenetz Date: Wed, 14 Dec 2016 15:01:37 -0800 Subject: [PATCH] lavf/wavdec.c: Fix unresolved symbols on Mac and VS2015 Update 3 Some toolchains failed to link a dynamic library containing wavdec.c, but with either CONFIG_SPDIF_DEMUXER or CONFIG_W64_DEMUXER disabled. This change adds #if's to explicitly exclude code rather than depend on toolchain code elision of same condition using "if". Reference https://crbug.com/591845. Adapted from 2 Chromium ffmpeg patches for code style: b281073a7b1ccff67b2cd8ec636facceeeb82327 5d76f94a515900260f185d5949f72ed6fa4bdd94 --- libavformat/wavdec.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/libavformat/wavdec.c b/libavformat/wavdec.c index 7176cd6..bb250ac 100644 --- a/libavformat/wavdec.c +++ b/libavformat/wavdec.c @@ -62,7 +62,8 @@ typedef struct WAVDemuxContext { static void set_spdif(AVFormatContext *s, WAVDemuxContext *wav) { - if (CONFIG_SPDIF_DEMUXER && s->streams[0]->codecpar->codec_tag == 1) { +#if CONFIG_SPDIF_DEMUXER + if (s->streams[0]->codecpar->codec_tag == 1) { enum AVCodecID codec; uint8_t *buf = NULL; int len = 1<<16; @@ -93,6 +94,7 @@ end: av_log(s, AV_LOG_WARNING, "Cannot check for SPDIF\n"); av_free(buf); } +#endif /* CONFIG_SPDIF_DEMUXER */ } #if CONFIG_WAV_DEMUXER @@ -598,8 +600,10 @@ static int wav_read_packet(AVFormatContext *s, AVPacket *pkt) AVStream *st; WAVDemuxContext *wav = s->priv_data; - if (CONFIG_SPDIF_DEMUXER && wav->spdif == 1) +#if CONFIG_SPDIF_DEMUXER + if (wav->spdif == 1) return ff_spdif_read_packet(s, pkt); +#endif /* CONFIG_SPDIF_DEMUXER */ if (wav->smv_data_ofs > 0) { int64_t audio_dts, video_dts; @@ -654,10 +658,14 @@ smv_out: if (wav->ignore_length) left = INT_MAX; if (left <= 0) { - if (CONFIG_W64_DEMUXER && wav->w64) +#if CONFIG_W64_DEMUXER + if (wav->w64) left = find_guid(s->pb, ff_w64_guid_data) - 24; else left = find_tag(wav, s->pb, MKTAG('d', 'a', 't', 'a')); +#else + left = find_tag(wav, s->pb, MKTAG('d', 'a', 't', 'a')); +#endif /* CONFIG_W64_DEMUXER */ if (left < 0) { wav->audio_eof = 1; if (wav->smv_data_ofs > 0 && !wav->smv_eof) -- 2.8.0.rc3.226.g39d4020