C5038 is a new warning in VS2017, similar to gcc and clang's -Wreorder, which is enabled by -Wall. We should enable C5038 so Windows developers can see these warnings locally instead of when gcc and clang fail with warnings-as-errors on Try.
https://blogs.msdn.microsoft.com/vcblog/2017/07/21/diagnostic-improvements-in-vs2017-15-3-0/
We need to suppress C5038 warnings from Windows Runtime Library header files (wrl.h) included in ANGLE and widget/windows:
z:\build\build\src\vs2017_15.4.2\SDK\Include\10.0.15063.0\winrt\wrl\wrappers\corewrappers.h(515): error C5038: data member 'Microsoft::WRL::Wrappers::Details::SyncLockWithStatusT<Microsoft::WRL::Wrappers::HandleTraits::SemaphoreTraits>::sync_' will be initialized after data member 'Microsoft::WRL::Wrappers::Details::SyncLockWithStatusT<Microsoft::WRL::Wrappers::HandleTraits::SemaphoreTraits>::status_'
...
And suppress C5038 warnings in upstream webrtc code:
media/webrtc/trunk/webrtc/modules/video_capture/windows/BaseFilter.cpp(176): error C5038: data member 'mozilla::media::BaseFilter::mClsId' will be initialized after data member 'mozilla::media::BaseFilter::mState'
media/webrtc/trunk/webrtc/modules/video_capture/windows/BasePin.cpp(169): error C5038: data member 'mozilla::media::BasePin::mFilter' will be initialized after data member 'mozilla::media::BasePin::mLock'
media/webrtc/trunk/webrtc/modules/video_capture/windows/BasePin.cpp(170): error C5038: data member 'mozilla::media::BasePin::mLock' will be initialized after data member 'mozilla::media::BasePin::mName'
media/webrtc/trunk/webrtc/modules/video_capture/windows/BasePin.cpp(172): error C5038: data member 'mozilla::media::BasePin::mDirection' will be initialized after data member 'mozilla::media::BasePin::mQualitySink'
MozReview-Commit-ID: BMDVkvQXNoq
--HG--
extra : rebase_source : 0d5ede9530d0d0750b8fffdc1cdfdc646ec8f22a
state_callback() and data_callback() can be called from multiple
threads. To protect the send/receive pair of calls, a Mutex is added
to Connection to prevent one thread from starving when two threads try
to wait on the socket in recvmsg.
MozReview-Commit-ID: LUXcqnw2Hm1
--HG--
extra : rebase_source : e98f50a109510e35bab6516febc9e76539c3228f
This changes code in PlatformUIThread::Run to match what was present in
ThreadWindowsUI::Run prior to the branch 49 update. With this update in place
it is possible to limit framerate on Windows again. The limit does not work
as well as on other platforms, the actual framerate seems to be 1.5x to 2x
the request value on the systems I have tested. That was also the case prior
to the branch 49 update.
MozReview-Commit-ID: W5xnWfkaET
--HG--
extra : rebase_source : dc4422864306063e83e6e1f4a7d51a0d97cbf1c6
Update our in-tree copy of libogg to the latest upstream release.
This fixes an issue handling corrupt streams when packets are
continued between framing pages, along with some minor portability
fixes.
MozReview-Commit-ID: 3Vixrru4gLV
--HG--
extra : rebase_source : be30a403c32ec777c57ca95fcc642abf875188ae
SSE2 isn't enabled by default on BSD x86 systems which ends up disabling
SIMD-optimized routines in libyuv. As Clang can build the code fine without
-msse limit the requirement to GCC.
https://github.com/llvm-mirror/clang/blob/6fc97e7c1cf4/lib/Driver/ToolChains/Arch/X86.cpp#L98
MozReview-Commit-ID: BaVAbEpkoHj
--HG--
extra : rebase_source : d32d55c09f34ad2d8d9e0d275167b576c9070e65
It was incorrectly disabled during the last resync.
MozReview-Commit-ID: IP0T4Aq5Q2q
--HG--
extra : rebase_source : 77b3c792ddabfc5536b8c680010d0438a22699be
The system ffmpeg will be used instead or libvpx if not found.
MozReview-Commit-ID: GX5WWPOhPq9
--HG--
extra : rebase_source : 3eec2ee1bc3b66d88653b913d6d1b3ad1a5d5acd
Two variables, contains_mac_based_ipv6 and contains_teredo_ipv6, were
added that are set but never used. This will cause compiler warnings
issues in the future.
MozReview-Commit-ID: C5ZReH94RpM
--HG--
extra : rebase_source : 50e06da3c093a118151d840b7d25a979afce6321
This revision of libaom has some conflicts with our vendor script
and build system. A number of new .asm files have the same basename
as .c files, which our build system cannot handle.
To work around this, I ran `./mach vendor aom` with the check for
duplicate filenames disabled, then manually renamed the conflicting
files in the filesystem and sources.mozbuild.
Also add av1_convolve_scale_sse4.c to sources.mozbuild manually.
This is needed by the build but for some reason isn't picked up
by generate_sources_mozbuild.sh.
MozReview-Commit-ID: 2iBo4kSBz1G
--HG--
rename : third_party/aom/aom_dsp/arm/idct16x16_1_add_neon.asm => third_party/aom/aom_dsp/arm/idct16x16_1_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/idct16x16_add_neon.asm => third_party/aom/aom_dsp/arm/idct16x16_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/idct32x32_1_add_neon.asm => third_party/aom/aom_dsp/arm/idct32x32_1_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/idct32x32_add_neon.asm => third_party/aom/aom_dsp/arm/idct32x32_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/idct4x4_1_add_neon.asm => third_party/aom/aom_dsp/arm/idct4x4_1_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/idct4x4_add_neon.asm => third_party/aom/aom_dsp/arm/idct4x4_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/idct8x8_1_add_neon.asm => third_party/aom/aom_dsp/arm/idct8x8_1_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/idct8x8_add_neon.asm => third_party/aom/aom_dsp/arm/idct8x8_add_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/loopfilter_16_neon.asm => third_party/aom/aom_dsp/arm/loopfilter_16_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/loopfilter_4_neon.asm => third_party/aom/aom_dsp/arm/loopfilter_4_neon_asm.asm
rename : third_party/aom/aom_dsp/arm/loopfilter_8_neon.asm => third_party/aom/aom_dsp/arm/loopfilter_8_neon_asm.asm
rename : third_party/aom/aom_dsp/x86/highbd_intrapred_sse2.asm => third_party/aom/aom_dsp/x86/highbd_intrapred_sse2_asm.asm
rename : third_party/aom/aom_dsp/x86/intrapred_sse2.asm => third_party/aom/aom_dsp/x86/intrapred_sse2_asm.asm
rename : third_party/aom/aom_dsp/x86/intrapred_ssse3.asm => third_party/aom/aom_dsp/x86/intrapred_ssse3_asm.asm
extra : rebase_source : 7bf598ac1a925e16e42301839376a963836ae182
Update to upstream commit id e87fb2378f01103d5d6e477a4ef6892dc714e614
from a couple of weeks ago to pick up changes.
MozReview-Commit-ID: H7H69A7qFXD
--HG--
extra : rebase_source : dee676da15b65e4eea612d20529c4fb312bbddfb
This mostly removes static strings declaration, replacing them with null pointers.
It does cause to switch to algorithms that are more geared toward space saving than speed gain. However, those are mostly in hash calculations, which the FLAC decoder doesn't use.
MozReview-Commit-ID: 6Kl6xxlBOnw
--HG--
extra : rebase_source : 051ac58cd1ed3b617684cda0bd4a93687bbc9924
Remove the VP8 and VP9 decoder and the subsequently unused functions.
This drops the size to libmozavcodec to around 1MB down from 4MB.
MozReview-Commit-ID: Ge57fauG35L
--HG--
extra : rebase_source : 3f667d7bf89036e9b059727d846af2504ce488b3
For now this is a C decoder only and FFmpeg isn't optimised to only decode flac (both vp8 and vp9 C decoders code is included, however they aren't enabled).
MozReview-Commit-ID: 7ulwvJDJqVg
--HG--
extra : rebase_source : 7090eee32ba394224ef8c3c1c31abf1543b69975
All the flac parser jobs are done by FlacDemuxer
MozReview-Commit-ID: L7VZG64gi52
--HG--
extra : rebase_source : 31cca110abd9f049923bf9d579cb2781ad38bedf
Adding tests that would have shown the issue fixed in Bug 1405940.
If the answer during a renegotiation has modified ICE credentials,
it should cause an error. These tests check for that error.
MozReview-Commit-ID: 9u8GGpslDdK
--HG--
extra : rebase_source : 6b204cefa96e95abd61d9a57ddd643dd81a41254
Behaviour is controlled through the media.navigator.video.vp9_preferred preference.
MozReview-Commit-ID: J06ArFYNmTk
--HG--
extra : rebase_source : a25bd4783fde0acf8291ee440745a619d3fa7db8
Remove AndroidJNIWrapper. It was primarily used by JNI.jsm and WebRTC.
Usages in WebRTC are replaced with equivalent uses of JNI templates.
MozReview-Commit-ID: DPSeMOtH2wF
This makes the code nicer. In particular, it removes many getter_Copies()
calls. The patch also converts a lot of nsCStrings to nsAutoCString, which will
avoid heap allocation in the common case.
The patch also renames PREF_CopyCharPref() as PREF_GetCStringPref(), because
it's actually getting a string, not a char, and that matches the existing
GetCString() and GetDefaultCString() methods. Correspondingly, it also renames
PREF_SetCharPref() as PREF_SetCStringPref().
The |aPrefName| arguments in nsIPrefBranch.idl remain as |string| because they
almost always involve passing in C string literals, and passing "foo" is much
nicer than passing NS_LITERAL_CSTRING("foo").
It's worth noting that early versions of this patch used |AUTF8String| instead
of |ACString|. But it turns out that libpref stores prefs internally as Latin1.
And |ACString| is compatible with Latin1 but |AUTF8String| isn't, because
non-ASCII Latin1 strings are not valid UTF-8!
MozReview-Commit-ID: D3f7a1Vl1oE
--HG--
extra : rebase_source : e6e4b15d6d210cfd93686f96400281f02bd1d06b
Structure of code was slightly modified so that it should be no longer necessary to re-generate the config_*.h files, greatly simplifying the resync process.
MozReview-Commit-ID: Ap6HpJAANT6
--HG--
extra : rebase_source : 52e5e3b9b2401644dc536d746219e5f3864c600c
This partially reverts commit e99d6caa3a3778c0bb1f2fa9f2b4222bba2eeafereverts
FFmpeg requires specific default values in AVCodecContext to be set. It is quickly becoming too complicated to track what those should be. AVOptions automatically set all the values to their default.
MozReview-Commit-ID: lDFeUvwTMg
--HG--
extra : rebase_source : 04c5df11e485bcbae4fbf41d8b5ed512316b4d1b
Connection handling code wasn't handling errors from receive()
properly. Attempting to unwrap on an Err was causing a panic.
MozReview-Commit-ID: GURe3FHPbjT
--HG--
extra : rebase_source : 664bf389020feb4a12f43422351c20ab7e804e30
Check for filenames which differ only by .asm vs .c filename
extensions when importing a new version of the libaom reference
implementation of the av1 video codec.
These confuse our build system as well. Also remove the obsolete
vp8 and vp9 search directories, which generate warnings from 'find'.
MozReview-Commit-ID: DRZL7GUrsYh
--HG--
extra : rebase_source : 4bc8708dd3b2e386c19bd6b952ca2587a2284a19
A zero input_length here would be caused by a decoder error in
NetEqImpl::Decode(). Looking at the code in GetAudioInternal() which calls
Decode() it appears that the intention is to continue processing even if no new
audio data is decoded. Based on this, it seems safest to just skip muting in
SignalScaling if the input_length is zero.
The other potential cause of a division by zero here is if fs_mult_ is zero which
should not normally happen. But there's no harm in checking for that as well.
MozReview-Commit-ID: J0pd2wbjeZl
--HG--
extra : rebase_source : 5206abd1f85986d395a7eead148cb06d1d050842
This is a large patch which tries to switch many of the external consumers of
nsGlobalWindow to instead use the new Inner or Outer variants.
MozReview-Commit-ID: 99648Lm46T5
For webrtc, the most important part of the code had already been removed in bug 1355048 and could no longer be called
MozReview-Commit-ID: Fx9XI0zR1gn
--HG--
extra : rebase_source : 360996760abab650684440fbeea258b43dccfd83
Webrtc code supports big endian platforms, but a method in tests lacks a big endian
variant. Add it based on WavReader/WavWriter code.
MozReview-Commit-ID: A4OTnYlGgvU
--HG--
extra : rebase_source : f331c799cea89e6090fd02269d3ee8728cbeca45
1) don't call StartGathering in e10s mode if parent process failed to provide STUN addrs.
2) set ICE connection state to failed if parent process returns 0 STUN addrs
MozReview-Commit-ID: COPr3TavdvM
--HG--
extra : rebase_source : 6e20424cf51fa28311f7f9f6968c2a59333b6729
Caused by several issues:
1) We were allowing an answer with modified ufrag/pass to
begin an ICE restart even if the offer didn't indicate
it was restarting.
2) This should no longer happen, but in cases where restart logic
was started inappropriately, TransportLayerIce::SetParameters
could get a null stream, and we check for that now.
MozReview-Commit-ID: JFQ1zz3l5wY
--HG--
extra : rebase_source : a6d43aabada86669850ddce07ea86da8118a6bec
This works around an issue in xpcom strings that causes us to report leaking
a string for some unknown reason, so that we can unblock gecko-media which
wants to run the MP4Demuxer seek test.
We should follow up and try to figure out the root cause at a later time.
MozReview-Commit-ID: C6UlOTAIh1l
--HG--
extra : rebase_source : e9b3bceb28ada6ab0e0c3de5588c07228d722d0e
This replaces MOZ_MTLOG with CSFLog, which is already set up to handle having
a shared LazyLogModule used from difference source files.
MozReview-Commit-ID: KNUKL92aWcw
--HG--
extra : rebase_source : 6a52dfc3c69a98318b26067aa608e5d484c8b8e2
This removes the duplicate definition of logTag and fixes a preprocessor related
unified build error.
MozReview-Commit-ID: LP5frg0QZul
--HG--
extra : rebase_source : b3a6d4dbd40545e34b72623e9c976750d7f1d0ca
nsTArray was previously used without prior declaration. Including the nsTArray.h
header fixes this issue.
MozReview-Commit-ID: 5FmrbjSmZUD
--HG--
extra : rebase_source : d87fd737d3a15067d7106b4fe4ae1f937d799e10
Calls to fallible need to be prefixed by the mozilla namespace because
it's not declared as globally usable.
MozReview-Commit-ID: CJoAoTjXGUH
--HG--
extra : rebase_source : 81618f26b4f2b16b11998673a6cad67d4bca49d4
Fallible is used in this compilation unit so the corresponding header
needs to be included. The <new> header is also required for new placement
calls.
MozReview-Commit-ID: 2eZ8U1wDYs8
--HG--
extra : rebase_source : 53f17d2ef7f8826ac344a2dc2bb278b7b83cbee5
The Stream class is used in this compilation unit so the Stream.h header needs
to be included.
MozReview-Commit-ID: 54X1UKuydUy
--HG--
extra : rebase_source : 96585c678b163fd7506b60ba3c2390d6f8b51d33
EndianUtils.h include was missing and some function calls required
explicit mention to the mozilla namespace.
MozReview-Commit-ID: CFsr7RJ7IGx
--HG--
extra : rebase_source : 01cde66752d6a71938cd1fe9d5f009158ceb7868
The stagefright namespace isn't used in this file and because it
wasn't previously declared in this compilation unit, a compiler error was raised.
MozReview-Commit-ID: HoYyrmIIXSV
--HG--
extra : rebase_source : 57ac59c06cdc4f54676c86a109ae404072541555
This is re-adding changes from Bug 1321628 that were overwritten by the
webrtc.org v49 import.
MozReview-Commit-ID: GI4OdFANJ8N
--HG--
extra : rebase_source : ec7af8f7d9c35831b3b58a92ae30bc1da6f43f23
This means we can simplify MediaResource.h to only include the abstract
interface, and MediaResourceIndex.
I also had to add a few includes here and there to fix the non-unified build.
MozReview-Commit-ID: 4R7LTXq25dm
--HG--
rename : dom/media/MediaResource.h => dom/media/BaseMediaResource.h
extra : rebase_source : edef4a65df4dcb92f8536052d170d78f95315753
This replaces MOZ_MTLOG with CSFLog, which is already set up to handle having
a shared LazyLogModule used from difference source files.
MozReview-Commit-ID: KNUKL92aWcw
--HG--
extra : rebase_source : 6d9eb3421c364f941c4cdf6d40217d2b853faacb
This removes the duplicate definition of logTag and fixes a preprocessor related
unified build error.
MozReview-Commit-ID: LP5frg0QZul
--HG--
extra : rebase_source : 64f2d77816c8d3681a7cf795317e8bdcb73c6713
We only create an event window in Start() if hwnd_ is NULL, but Stop() does
not set it to NULL. This causes the thread to no longer be a GUI thread if
Stop() and then Start() is called on the same thread leading to assertion
failures.
MozReview-Commit-ID: 5TpazUCqBuR
--HG--
extra : rebase_source : 461066e576af87b27c82075a15d6b5772282b54c
We weren't defining USE_X11 when building the tests resulting in inconsistent
versions of the headers depending upon where they were compiled.
MozReview-Commit-ID: 298yRvIjXgb
--HG--
extra : rebase_source : 7406d14db3b41b8b5f579cc572ccb283064dbe29
I missed doing this in the original patch because my mozconfig defined the
CFLAGS globally to include -fsanitize-coverage.
MozReview-Commit-ID: 4QdiIgdfAm2
--HG--
extra : rebase_source : bfd1ef5097b91c23913c0349a04154f18f60eef5