H264 is about to be supported in WebRTC behind flag, this
is preparation work for enabling it.

Background: The flag (from WebRTC) is |rtc_use_h264|.
Additionally, for H264 decoding to work an
|ffmpeg_branding| has to be used that includes H264 (for
example "Chrome").

If |rtc_use_h264| is used, this CL adds code to make sure
FFmpeg is initialized before any decoding happens
(otherwise H264DecoderImpl::InitDecode would fail). This
code is commented out however, due to the below reason.

When building with |rtc_use_h264|,
webrtc::DisableRtcUseH264() is called which disables the
effects of |rtc_use_h264| (disables that H264 enc/dec
implementation). We do this because we plan to default
|rtc_use_h264| to |proprietary_codecs| so that Chromium
trybots will use it. This also makes Chrome use it, but we
are not ready to launch this feature yet. We will remove
DisableRtcUseH264() in a follow-up CL that adds H264
browser tests. That way we have proper test coverage before
we enable it (otherwise it is only tested in webrtc repo,
not full call stack).

BUG=chromium:500605, chromium:468365

Review URL: https://codereview.chromium.org/1641163002

Cr-Commit-Position: refs/heads/master@{#373821}
4 files changed