Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1506)

Unified Diff: media/filters/ffmpeg_glue.cc

Issue 909002: Removed custom FFmpegLock. Removed ffmpeg headers from third_party/ffmpeg/include. (Closed)
Patch Set: Updated Created 10 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/filters/ffmpeg_demuxer.cc ('k') | media/filters/ffmpeg_video_decode_engine.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/ffmpeg_glue.cc
diff --git a/media/filters/ffmpeg_glue.cc b/media/filters/ffmpeg_glue.cc
index 0b2ee4b7470630bd7ccae8da144abcaa9e4271b3..a920f58a3471524bf4784bc12f941c8a6cb6f697 100644
--- a/media/filters/ffmpeg_glue.cc
+++ b/media/filters/ffmpeg_glue.cc
@@ -81,6 +81,30 @@ int CloseContext(URLContext* h) {
return 0;
}
+int LockManagerOperation(void** lock, enum AVLockOp op) {
+ switch (op) {
+ case AV_LOCK_CREATE:
+ *lock = new Lock();
+ if (!*lock)
+ return 1;
+ return 0;
+
+ case AV_LOCK_OBTAIN:
+ static_cast<Lock*>(*lock)->Acquire();
+ return 0;
+
+ case AV_LOCK_RELEASE:
+ static_cast<Lock*>(*lock)->Release();
+ return 0;
+
+ case AV_LOCK_DESTROY:
+ delete static_cast<Lock*>(*lock);
+ *lock = NULL;
+ return 0;
+ }
+ return 1;
+}
+
} // namespace
//------------------------------------------------------------------------------
@@ -107,12 +131,14 @@ FFmpegGlue::FFmpegGlue() {
// Register our protocol glue code with FFmpeg.
avcodec_init();
av_register_protocol(&kFFmpegURLProtocol);
+ av_lockmgr_register(&LockManagerOperation);
// Now register the rest of FFmpeg.
av_register_all();
}
FFmpegGlue::~FFmpegGlue() {
+ av_lockmgr_register(NULL);
}
std::string FFmpegGlue::AddProtocol(FFmpegURLProtocol* protocol) {
« no previous file with comments | « media/filters/ffmpeg_demuxer.cc ('k') | media/filters/ffmpeg_video_decode_engine.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698