media.h revision c2e0dbddbe15c98d52c4786dac06cb8952a8ae6d
1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// Contains code that should be used for initializing, or querying the state 6// of the media library as a whole. 7 8#ifndef MEDIA_BASE_MEDIA_H_ 9#define MEDIA_BASE_MEDIA_H_ 10 11#include "media/base/media_export.h" 12 13namespace base { 14class FilePath; 15} 16 17namespace media { 18 19// Attempts to initialize the media library (loading DLLs, DSOs, etc.). 20// 21// If |module_dir| is the empty string, then the system default library paths 22// are searched for the dynamic libraries. If a |module_dir| is provided, then 23// only the specified |module_dir| will be searched for the dynamic libraries. 24// 25// If multiple initializations are attempted with different |module_dir|s 26// specified then the first one to succeed remains effective for the lifetime 27// of the process. 28// 29// Returns true if everything was successfully initialized, false otherwise. 30MEDIA_EXPORT bool InitializeMediaLibrary(const base::FilePath& module_dir); 31 32// Helper function for unit tests to avoid boiler plate code everywhere. This 33// function will crash if it fails to load the media library. This ensures tests 34// fail if the media library is not available. 35MEDIA_EXPORT void InitializeMediaLibraryForTesting(); 36 37// Use this if you need to check whether the media library is initialized 38// for the this process, without actually trying to initialize it. 39MEDIA_EXPORT bool IsMediaLibraryInitialized(); 40 41} // namespace media 42 43#endif // MEDIA_BASE_MEDIA_H_ 44