diff options
Diffstat (limited to 'mobile/android/base/java/org/mozilla/gecko/media/MediaManager.java')
-rw-r--r-- | mobile/android/base/java/org/mozilla/gecko/media/MediaManager.java | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/mobile/android/base/java/org/mozilla/gecko/media/MediaManager.java b/mobile/android/base/java/org/mozilla/gecko/media/MediaManager.java new file mode 100644 index 000000000..fcb0fc659 --- /dev/null +++ b/mobile/android/base/java/org/mozilla/gecko/media/MediaManager.java @@ -0,0 +1,44 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.gecko.media; + +import android.app.Service; +import android.content.Intent; +import android.os.Binder; +import android.os.IBinder; +import android.os.RemoteException; + +import org.mozilla.gecko.mozglue.GeckoLoader; + +public final class MediaManager extends Service { + private static boolean sNativeLibLoaded; + + private Binder mBinder = new IMediaManager.Stub() { + @Override + public ICodec createCodec() throws RemoteException { + return new Codec(); + } + + @Override + public IMediaDrmBridge createRemoteMediaDrmBridge(String keySystem, + String stubId) + throws RemoteException { + return new RemoteMediaDrmBridgeStub(keySystem, stubId); + } + }; + + @Override + public synchronized void onCreate() { + if (!sNativeLibLoaded) { + GeckoLoader.doLoadLibrary(this, "mozglue"); + sNativeLibLoaded = true; + } + } + + @Override + public IBinder onBind(Intent intent) { + return mBinder; + } +}
\ No newline at end of file |