Last Comment Bug 774060 - Compiling Firefox fails --with-system-libvpx when using libvpx 1.1 or later
: Compiling Firefox fails --with-system-libvpx when using libvpx 1.1 or later
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Audio/Video (show other bugs)
: Trunk
: x86_64 Linux
: -- normal (vote)
: mozilla17
Assigned To: Andrew Benton
:
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-07-15 04:01 PDT by Andrew Benton
Modified: 2012-07-24 02:57 PDT (History)
5 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
firefox-system-libvpx.patch (468 bytes, patch)
2012-07-15 04:01 PDT, Andrew Benton
no flags Details | Diff | Splinter Review
rebased by our format (1.14 KB, patch)
2012-07-21 00:16 PDT, Makoto Kato [:m_kato]
tterribe: review+
Details | Diff | Splinter Review

Description Andrew Benton 2012-07-15 04:01:39 PDT
Created attachment 642362 [details] [diff] [review]
firefox-system-libvpx.patch

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1
Build ID: 20120710013846

Steps to reproduce:

tried to compile firefox --with-system-libvpx (I have libvpx-v1.1.0 installed)


Actual results:

the build failed:

/home/andy/save/src/firefox/media/webrtc/trunk/src/modules/video_coding/codecs/vp8/main/source/vp8.cc: In member function ‘virtual int webrtc::VP8Decoder::Decode(const webrtc::EncodedImage&, bool, const webrtc::RTPFragmentationHeader*, const webrtc::CodecSpecificInfo*, int64_t)’:
/home/andy/save/src/firefox/media/webrtc/trunk/src/modules/video_coding/codecs/vp8/main/source/vp8.cc:694:3: error: ‘vpx_dec_iter_t’ was not declared in this scope
/home/andy/save/src/firefox/media/webrtc/trunk/src/modules/video_coding/codecs/vp8/main/source/vp8.cc:694:18: error: expected ‘;’ before ‘iter’
/home/andy/save/src/firefox/media/webrtc/trunk/src/modules/video_coding/codecs/vp8/main/source/vp8.cc:707:42: error: ‘iter’ was not declared in this scope
/home/andy/save/src/firefox/media/webrtc/trunk/src/modules/video_coding/codecs/vp8/main/source/vp8.cc:760:40: error: ‘iter’ was not declared in this scope
make[7]: *** [video_coding/codecs/vp8/main/source/vp8.o] Error 1
make[7]: Leaving directory `/home/andy/save/src/firefox/firefox-build-dir/media/webrtc/trunk/src/modules/modules_webrtc_vp8'
make[6]: *** [src/modules/modules_webrtc_vp8_libs] Error 2
make[6]: *** Waiting for unfinished jobs....



Expected results:

It should have compiled.
The attached patch fixes the issue for me
Comment 1 Makoto Kato [:m_kato] 2012-07-16 01:52:18 PDT
Comment on attachment 642362 [details] [diff] [review]
firefox-system-libvpx.patch

>diff -r 57abb5f70e01 media/webrtc/trunk/src/modules/video_coding/codecs/vp8/main/source/vp8.cc
>--- a/media/webrtc/trunk/src/modules/video_coding/codecs/vp8/main/source/vp8.cc	Sun Jul 15 09:11:22 2012 +0300
>+++ b/media/webrtc/trunk/src/modules/video_coding/codecs/vp8/main/source/vp8.cc	Sun Jul 15 11:04:58 2012 +0100
>@@ -691,7 +691,7 @@
>       propagation_cnt_++;
>   }
>
>-  vpx_dec_iter_t iter = NULL;
>+  vpx_codec_iter_t iter = NULL;
>   vpx_image_t* img;
>   int ret;
>
Comment 2 Makoto Kato [:m_kato] 2012-07-17 01:20:40 PDT
This is fixed by r2337.
https://code.google.com/p/webrtc/source/detail?spec=svn2337&r=2337
Comment 3 Makoto Kato [:m_kato] 2012-07-21 00:16:46 PDT
Created attachment 644609 [details] [diff] [review]
rebased by our format

This is backport of r2337.
Comment 4 Randell Jesup [:jesup] 2012-07-22 23:32:28 PDT
Comment on attachment 644609 [details] [diff] [review]
rebased by our format

Derf: is this change backwards compatible with any versions of system-vpx that webrtc is compatible with?  (I assume yes.)  Note that we can say that --with-system-libvpx is only allowed with webrtc enabled if the system VPX is greater than X.Y.Z.  I don't feel we need to test for that in configure/make, though that might be nice - perhaps a comment to that effect instead.
Comment 5 Mike Hommey [:glandium] 2012-07-22 23:45:46 PDT
As a matter of fact, the signature for vpx_codec_get_frame in libvpx 1.0 already uses vpx_codec_iter_t.
Comment 6 Timothy B. Terriberry (:derf) 2012-07-23 12:58:09 PDT
Comment on attachment 644609 [details] [diff] [review]
rebased by our format

Review of attachment 644609 [details] [diff] [review]:
-----------------------------------------------------------------

(In reply to Randell Jesup [:jesup] from comment #4)
> Derf: is this change backwards compatible with any versions of system-vpx
> that webrtc is compatible with?  (I assume yes.)  Note that we can say that

vpx_dec_iter_t was part of the pre-v0.9.0 API removed in this CL: https://gerrit.chromium.org/gerrit/21702

We already require at least v1.0.0 (and have a configure check for it), so this shouldn't be a problem.
Comment 8 Ed Morley [:emorley] 2012-07-24 02:57:07 PDT
https://hg.mozilla.org/mozilla-central/rev/c9a8add393e9

Note You need to log in before you can comment on or make changes to this bug.