Index: content/renderer/media/webrtc/peer_connection_dependency_factory.cc |
diff --git a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc |
index 270cf169851d51f21a8a5377d7bacf87f2b222e7..0784a11756cd1bb37ea8ea77aeb1287fce7f2acd 100644 |
--- a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc |
+++ b/content/renderer/media/webrtc/peer_connection_dependency_factory.cc |
@@ -55,6 +55,7 @@ |
#include "crypto/openssl_util.h" |
#include "jingle/glue/thread_wrapper.h" |
#include "media/base/media_permission.h" |
+#include "media/filters/ffmpeg_glue.h" |
#include "media/renderers/gpu_video_accelerator_factories.h" |
#include "third_party/WebKit/public/platform/WebMediaConstraints.h" |
#include "third_party/WebKit/public/platform/WebMediaStream.h" |
@@ -259,6 +260,14 @@ void PeerConnectionDependencyFactory::CreatePeerConnectionFactory() { |
DVLOG(1) << "PeerConnectionDependencyFactory::CreatePeerConnectionFactory()"; |
+#if defined(WEBRTC_USE_H264) |
+ // When building with |rtc_use_h264|, FFmpeg must be initialized externally |
+ // from WebRTC before any |H264DecoderImpl| is initialized. By initializing |
+ // here we guarantee that FFmpeg has been initialized before any decoders are |
+ // used. |
tommi (sloooow) - chröme
2016/02/01 17:51:20
"must be initialized externally from WebRTC" is a
hbos_chromium
2016/02/02 14:20:12
Done.
|
+ media::FFmpegGlue::InitializeFFmpeg(); |
+#endif |
+ |
base::MessageLoop::current()->AddDestructionObserver(this); |
// To allow sending to the signaling/worker threads. |
jingle_glue::JingleThreadWrapper::EnsureForCurrentMessageLoop(); |