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: *** [video_coding/codecs/vp8/main/source/vp8.o] Error 1 make: Leaving directory `/home/andy/save/src/firefox/firefox-build-dir/media/webrtc/trunk/src/modules/modules_webrtc_vp8' make: *** [src/modules/modules_webrtc_vp8_libs] Error 2 make: *** Waiting for unfinished jobs.... Expected results: It should have compiled. The attached patch fixes the issue for me
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; >
This is fixed by r2337. https://code.google.com/p/webrtc/source/detail?spec=svn2337&r=2337
Created attachment 644609 [details] [diff] [review] rebased by our format This is backport of r2337.
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.
As a matter of fact, the signature for vpx_codec_get_frame in libvpx 1.0 already uses vpx_codec_iter_t.
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.