--- a/dom/media/MediaManager.h
+++ b/dom/media/MediaManager.h
@@ -91,17 +91,17 @@ private:
nsString aN);
static uint32_t FitnessDistance(nsString aN,
const dom::ConstrainDOMStringParameters& aParams);
protected:
nsString mName;
nsString mID;
dom::MediaSourceEnum mMediaSource;
RefPtr<MediaEngineSource> mSource;
- RefPtr<MediaEngineSource::BaseAllocationHandle> mAllocationHandle;
+ RefPtr<MediaEngineSource::AllocationHandle> mAllocationHandle;
public:
dom::MediaSourceEnum GetMediaSource() {
return mMediaSource;
}
bool mIsVideo;
};
class VideoDevice : public MediaDevice
--- a/dom/media/webrtc/MediaEngine.h
+++ b/dom/media/webrtc/MediaEngine.h
@@ -27,17 +27,16 @@ enum {
* Abstract interface for managing audio and video devices. Each platform
* must implement a concrete class that will map these classes and methods
* to the appropriate backend. For example, on Desktop platforms, these will
* correspond to equivalent webrtc (GIPS) calls, and on B2G they will map to
* a Gonk interface.
*/
class MediaEngineVideoSource;
class MediaEngineAudioSource;
-class MediaEnginePrefs;
enum MediaEngineState {
kAllocated,
kStarted,
kStopped,
kReleased
};
@@ -75,158 +74,16 @@ public:
virtual void Shutdown() = 0;
protected:
virtual ~MediaEngine() {}
};
/**
- * Callback interface for TakePhoto(). Either PhotoComplete() or PhotoError()
- * should be called.
- */
-class MediaEnginePhotoCallback {
-public:
- NS_INLINE_DECL_THREADSAFE_REFCOUNTING(MediaEnginePhotoCallback)
-
- // aBlob is the image captured by MediaEngineSource. It is
- // called on main thread.
- virtual nsresult PhotoComplete(already_AddRefed<dom::Blob> aBlob) = 0;
-
- // It is called on main thread. aRv is the error code.
- virtual nsresult PhotoError(nsresult aRv) = 0;
-
-protected:
- virtual ~MediaEnginePhotoCallback() {}
-};
-
-/**
- * Common abstract base class for audio and video sources.
- */
-class MediaEngineSource : public nsISupports
-{
-public:
- // code inside webrtc.org assumes these sizes; don't use anything smaller
- // without verifying it's ok
- static const unsigned int kMaxDeviceNameLength = 128;
- static const unsigned int kMaxUniqueIdLength = 256;
-
- virtual ~MediaEngineSource() {}
-
- virtual void Shutdown() = 0;
-
- /* Populate the human readable name of this device in the nsAString */
- virtual void GetName(nsAString&) const = 0;
-
- /* Populate the UUID of this device in the nsACString */
- virtual void GetUUID(nsACString&) const = 0;
-
- class BaseAllocationHandle
- {
- public:
- NS_INLINE_DECL_THREADSAFE_REFCOUNTING(BaseAllocationHandle);
- protected:
- virtual ~BaseAllocationHandle() {}
- };
-
- /* Release the device back to the system. */
- virtual nsresult Deallocate(BaseAllocationHandle* aHandle) = 0;
-
- /* Start the device and add the track to the provided SourceMediaStream, with
- * the provided TrackID. You may start appending data to the track
- * immediately after. */
- virtual nsresult Start(SourceMediaStream*, TrackID, const PrincipalHandle&) = 0;
-
- /* tell the source if there are any direct listeners attached */
- virtual void SetDirectListeners(bool) = 0;
-
- /* Called when the stream wants more data */
- virtual void NotifyPull(MediaStreamGraph* aGraph,
- SourceMediaStream *aSource,
- TrackID aId,
- StreamTime aDesiredTime,
- const PrincipalHandle& aPrincipalHandle) = 0;
-
- /* Stop the device and release the corresponding MediaStream */
- virtual nsresult Stop(SourceMediaStream *aSource, TrackID aID) = 0;
-
- /* Restart with new capability */
- virtual nsresult Restart(BaseAllocationHandle* aHandle,
- const dom::MediaTrackConstraints& aConstraints,
- const MediaEnginePrefs &aPrefs,
- const nsString& aDeviceId,
- const char** aOutBadConstraint) = 0;
-
- /* Returns true if a source represents a fake capture device and
- * false otherwise
- */
- virtual bool IsFake() = 0;
-
- /* Returns the type of media source (camera, microphone, screen, window, etc) */
- virtual dom::MediaSourceEnum GetMediaSource() const = 0;
-
- /* If implementation of MediaEngineSource supports TakePhoto(), the picture
- * should be return via aCallback object. Otherwise, it returns NS_ERROR_NOT_IMPLEMENTED.
- * Currently, only Gonk MediaEngineSource implementation supports it.
- */
- virtual nsresult TakePhoto(MediaEnginePhotoCallback* aCallback) = 0;
-
- /* Return false if device is currently allocated or started */
- bool IsAvailable() {
- if (mState == kAllocated || mState == kStarted) {
- return false;
- } else {
- return true;
- }
- }
-
- /* It is an error to call Start() before an Allocate(), and Stop() before
- * a Start(). Only Allocate() may be called after a Deallocate(). */
-
- /* This call reserves but does not start the device. */
- virtual nsresult Allocate(const dom::MediaTrackConstraints &aConstraints,
- const MediaEnginePrefs &aPrefs,
- const nsString& aDeviceId,
- const nsACString& aOrigin,
- BaseAllocationHandle** aOutHandle,
- const char** aOutBadConstraint) = 0;
-
- virtual uint32_t GetBestFitnessDistance(
- const nsTArray<const NormalizedConstraintSet*>& aConstraintSets,
- const nsString& aDeviceId) const = 0;
-
- void GetSettings(dom::MediaTrackSettings& aOutSettings)
- {
- MOZ_ASSERT(NS_IsMainThread());
- aOutSettings = mSettings;
- }
-
-protected:
- // Only class' own members can be initialized in constructor initializer list.
- explicit MediaEngineSource(MediaEngineState aState)
- : mState(aState)
-#ifdef DEBUG
- , mOwningThread(PR_GetCurrentThread())
-#endif
- {}
-
- void AssertIsOnOwningThread()
- {
- MOZ_ASSERT(PR_GetCurrentThread() == mOwningThread);
- }
-
- MediaEngineState mState;
-#ifdef DEBUG
- PRThread* mOwningThread;
-#endif
- // Main-thread only:
- dom::MediaTrackSettings mSettings;
-};
-
-/**
* Video source and friends.
*/
class MediaEnginePrefs {
public:
MediaEnginePrefs()
: mWidth(0)
, mHeight(0)
, mFPS(0)
@@ -290,16 +147,172 @@ private:
if (aHD) {
return MediaEngine::DEFAULT_169_VIDEO_HEIGHT;
}
return MediaEngine::DEFAULT_43_VIDEO_HEIGHT;
}
};
+/**
+ * Callback interface for TakePhoto(). Either PhotoComplete() or PhotoError()
+ * should be called.
+ */
+class MediaEnginePhotoCallback {
+public:
+ NS_INLINE_DECL_THREADSAFE_REFCOUNTING(MediaEnginePhotoCallback)
+
+ // aBlob is the image captured by MediaEngineSource. It is
+ // called on main thread.
+ virtual nsresult PhotoComplete(already_AddRefed<dom::Blob> aBlob) = 0;
+
+ // It is called on main thread. aRv is the error code.
+ virtual nsresult PhotoError(nsresult aRv) = 0;
+
+protected:
+ virtual ~MediaEnginePhotoCallback() {}
+};
+
+/**
+ * Common abstract base class for audio and video sources.
+ */
+class MediaEngineSource : public nsISupports
+{
+public:
+ // code inside webrtc.org assumes these sizes; don't use anything smaller
+ // without verifying it's ok
+ static const unsigned int kMaxDeviceNameLength = 128;
+ static const unsigned int kMaxUniqueIdLength = 256;
+
+ virtual ~MediaEngineSource() {}
+
+ virtual void Shutdown() = 0;
+
+ /* Populate the human readable name of this device in the nsAString */
+ virtual void GetName(nsAString&) const = 0;
+
+ /* Populate the UUID of this device in the nsACString */
+ virtual void GetUUID(nsACString&) const = 0;
+
+ class AllocationHandle
+ {
+ public:
+ NS_INLINE_DECL_THREADSAFE_REFCOUNTING(AllocationHandle);
+ protected:
+ ~AllocationHandle() {}
+ public:
+ AllocationHandle(const dom::MediaTrackConstraints& aConstraints,
+ const nsACString& aOrigin,
+ const MediaEnginePrefs& aPrefs,
+ const nsString& aDeviceId)
+ : mConstraints(aConstraints),
+ mOrigin(aOrigin),
+ mPrefs(aPrefs),
+ mDeviceId(aDeviceId) {}
+ public:
+ NormalizedConstraints mConstraints;
+ nsCString mOrigin;
+ MediaEnginePrefs mPrefs;
+ nsString mDeviceId;
+ };
+
+ /* Release the device back to the system. */
+ virtual nsresult Deallocate(AllocationHandle* aHandle) = 0;
+
+ /* Start the device and add the track to the provided SourceMediaStream, with
+ * the provided TrackID. You may start appending data to the track
+ * immediately after. */
+ virtual nsresult Start(SourceMediaStream*, TrackID, const PrincipalHandle&) = 0;
+
+ /* tell the source if there are any direct listeners attached */
+ virtual void SetDirectListeners(bool) = 0;
+
+ /* Called when the stream wants more data */
+ virtual void NotifyPull(MediaStreamGraph* aGraph,
+ SourceMediaStream *aSource,
+ TrackID aId,
+ StreamTime aDesiredTime,
+ const PrincipalHandle& aPrincipalHandle) = 0;
+
+ /* Stop the device and release the corresponding MediaStream */
+ virtual nsresult Stop(SourceMediaStream *aSource, TrackID aID) = 0;
+
+ /* Restart with new capability */
+ virtual nsresult Restart(AllocationHandle* aHandle,
+ const dom::MediaTrackConstraints& aConstraints,
+ const MediaEnginePrefs &aPrefs,
+ const nsString& aDeviceId,
+ const char** aOutBadConstraint) = 0;
+
+ /* Returns true if a source represents a fake capture device and
+ * false otherwise
+ */
+ virtual bool IsFake() = 0;
+
+ /* Returns the type of media source (camera, microphone, screen, window, etc) */
+ virtual dom::MediaSourceEnum GetMediaSource() const = 0;
+
+ /* If implementation of MediaEngineSource supports TakePhoto(), the picture
+ * should be return via aCallback object. Otherwise, it returns NS_ERROR_NOT_IMPLEMENTED.
+ * Currently, only Gonk MediaEngineSource implementation supports it.
+ */
+ virtual nsresult TakePhoto(MediaEnginePhotoCallback* aCallback) = 0;
+
+ /* Return false if device is currently allocated or started */
+ bool IsAvailable() {
+ if (mState == kAllocated || mState == kStarted) {
+ return false;
+ } else {
+ return true;
+ }
+ }
+
+ /* It is an error to call Start() before an Allocate(), and Stop() before
+ * a Start(). Only Allocate() may be called after a Deallocate(). */
+
+ /* This call reserves but does not start the device. */
+ virtual nsresult Allocate(const dom::MediaTrackConstraints &aConstraints,
+ const MediaEnginePrefs &aPrefs,
+ const nsString& aDeviceId,
+ const nsACString& aOrigin,
+ AllocationHandle** aOutHandle,
+ const char** aOutBadConstraint) = 0;
+
+ virtual uint32_t GetBestFitnessDistance(
+ const nsTArray<const NormalizedConstraintSet*>& aConstraintSets,
+ const nsString& aDeviceId) const = 0;
+
+ void GetSettings(dom::MediaTrackSettings& aOutSettings)
+ {
+ MOZ_ASSERT(NS_IsMainThread());
+ aOutSettings = mSettings;
+ }
+
+protected:
+ // Only class' own members can be initialized in constructor initializer list.
+ explicit MediaEngineSource(MediaEngineState aState)
+ : mState(aState)
+#ifdef DEBUG
+ , mOwningThread(PR_GetCurrentThread())
+#endif
+ {}
+
+ void AssertIsOnOwningThread()
+ {
+ MOZ_ASSERT(PR_GetCurrentThread() == mOwningThread);
+ }
+
+ MediaEngineState mState;
+#ifdef DEBUG
+ PRThread* mOwningThread;
+#endif
+ // Main-thread only:
+ dom::MediaTrackSettings mSettings;
+};
+
class MediaEngineVideoSource : public MediaEngineSource
{
public:
virtual ~MediaEngineVideoSource() {}
protected:
explicit MediaEngineVideoSource(MediaEngineState aState)
: MediaEngineSource(aState) {}
--- a/dom/media/webrtc/MediaEngineDefault.cpp
+++ b/dom/media/webrtc/MediaEngineDefault.cpp
@@ -79,17 +79,17 @@ MediaEngineDefaultVideoSource::GetBestFi
return distance;
}
nsresult
MediaEngineDefaultVideoSource::Allocate(const dom::MediaTrackConstraints &aConstraints,
const MediaEnginePrefs &aPrefs,
const nsString& aDeviceId,
const nsACString& aOrigin,
- BaseAllocationHandle** aOutHandle,
+ AllocationHandle** aOutHandle,
const char** aOutBadConstraint)
{
if (mState != kReleased) {
return NS_ERROR_FAILURE;
}
FlattenedConstraints c(aConstraints);
@@ -106,17 +106,17 @@ MediaEngineDefaultVideoSource::Allocate(
mOpts.mHeight = c.mHeight.Get(aPrefs.mHeight ? aPrefs.mHeight :
MediaEngine::DEFAULT_43_VIDEO_HEIGHT);
mState = kAllocated;
aOutHandle = nullptr;
return NS_OK;
}
nsresult
-MediaEngineDefaultVideoSource::Deallocate(BaseAllocationHandle* aHandle)
+MediaEngineDefaultVideoSource::Deallocate(AllocationHandle* aHandle)
{
MOZ_ASSERT(!aHandle);
if (mState != kStopped && mState != kAllocated) {
return NS_ERROR_FAILURE;
}
mState = kReleased;
mImage = nullptr;
return NS_OK;
@@ -202,17 +202,17 @@ MediaEngineDefaultVideoSource::Stop(Sour
mState = kStopped;
mImage = nullptr;
return NS_OK;
}
nsresult
MediaEngineDefaultVideoSource::Restart(
- BaseAllocationHandle* aHandle,
+ AllocationHandle* aHandle,
const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs &aPrefs,
const nsString& aDeviceId,
const char** aOutBadConstraint)
{
return NS_OK;
}
@@ -393,17 +393,17 @@ MediaEngineDefaultAudioSource::GetBestFi
return distance;
}
nsresult
MediaEngineDefaultAudioSource::Allocate(const dom::MediaTrackConstraints &aConstraints,
const MediaEnginePrefs &aPrefs,
const nsString& aDeviceId,
const nsACString& aOrigin,
- BaseAllocationHandle** aOutHandle,
+ AllocationHandle** aOutHandle,
const char** aOutBadConstraint)
{
if (mState != kReleased) {
return NS_ERROR_FAILURE;
}
// Mock failure for automated tests.
if (aConstraints.mDeviceId.IsString() &&
@@ -415,17 +415,17 @@ MediaEngineDefaultAudioSource::Allocate(
// generate sine wave (default 1KHz)
mSineGenerator = new SineWaveGenerator(AUDIO_RATE,
static_cast<uint32_t>(aPrefs.mFreq ? aPrefs.mFreq : 1000));
aOutHandle = nullptr;
return NS_OK;
}
nsresult
-MediaEngineDefaultAudioSource::Deallocate(BaseAllocationHandle* aHandle)
+MediaEngineDefaultAudioSource::Deallocate(AllocationHandle* aHandle)
{
MOZ_ASSERT(!aHandle);
if (mState != kStopped && mState != kAllocated) {
return NS_ERROR_FAILURE;
}
mState = kReleased;
return NS_OK;
}
@@ -491,17 +491,17 @@ MediaEngineDefaultAudioSource::Stop(Sour
aSource->EndTrack(aID);
mState = kStopped;
return NS_OK;
}
nsresult
-MediaEngineDefaultAudioSource::Restart(BaseAllocationHandle* aHandle,
+MediaEngineDefaultAudioSource::Restart(AllocationHandle* aHandle,
const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs &aPrefs,
const nsString& aDeviceId,
const char** aOutBadConstraint)
{
return NS_OK;
}
--- a/dom/media/webrtc/MediaEngineDefault.h
+++ b/dom/media/webrtc/MediaEngineDefault.h
@@ -43,22 +43,22 @@ public:
void GetName(nsAString&) const override;
void GetUUID(nsACString&) const override;
nsresult Allocate(const dom::MediaTrackConstraints &aConstraints,
const MediaEnginePrefs &aPrefs,
const nsString& aDeviceId,
const nsACString& aOrigin,
- BaseAllocationHandle** aOutHandle,
+ AllocationHandle** aOutHandle,
const char** aOutBadConstraint) override;
- nsresult Deallocate(BaseAllocationHandle* aHandle) override;
+ nsresult Deallocate(AllocationHandle* aHandle) override;
nsresult Start(SourceMediaStream*, TrackID, const PrincipalHandle&) override;
nsresult Stop(SourceMediaStream*, TrackID) override;
- nsresult Restart(BaseAllocationHandle* aHandle,
+ nsresult Restart(AllocationHandle* aHandle,
const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs &aPrefs,
const nsString& aDeviceId,
const char** aOutBadConstraint) override;
void SetDirectListeners(bool aHasDirectListeners) override {};
void NotifyPull(MediaStreamGraph* aGraph,
SourceMediaStream *aSource,
TrackID aId,
@@ -118,22 +118,22 @@ public:
void GetName(nsAString&) const override;
void GetUUID(nsACString&) const override;
nsresult Allocate(const dom::MediaTrackConstraints &aConstraints,
const MediaEnginePrefs &aPrefs,
const nsString& aDeviceId,
const nsACString& aOrigin,
- BaseAllocationHandle** aOutHandle,
+ AllocationHandle** aOutHandle,
const char** aOutBadConstraint) override;
- nsresult Deallocate(BaseAllocationHandle* aHandle) override;
+ nsresult Deallocate(AllocationHandle* aHandle) override;
nsresult Start(SourceMediaStream*, TrackID, const PrincipalHandle&) override;
nsresult Stop(SourceMediaStream*, TrackID) override;
- nsresult Restart(BaseAllocationHandle* aHandle,
+ nsresult Restart(AllocationHandle* aHandle,
const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs &aPrefs,
const nsString& aDeviceId,
const char** aOutBadConstraint) override;
void SetDirectListeners(bool aHasDirectListeners) override {};
void AppendToSegment(AudioSegment& aSegment,
TrackTicks aSamples);
void NotifyPull(MediaStreamGraph* aGraph,
--- a/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp
+++ b/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp
@@ -103,17 +103,17 @@ MediaEngineRemoteVideoSource::Shutdown()
}
nsresult
MediaEngineRemoteVideoSource::Allocate(
const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs& aPrefs,
const nsString& aDeviceId,
const nsACString& aOrigin,
- BaseAllocationHandle** aOutHandle,
+ AllocationHandle** aOutHandle,
const char** aOutBadConstraint)
{
LOG((__PRETTY_FUNCTION__));
AssertIsOnOwningThread();
if (!mInitDone) {
LOG(("Init not done"));
return NS_ERROR_FAILURE;
@@ -138,22 +138,22 @@ MediaEngineRemoteVideoSource::Allocate(
}
mRegisteredHandles.AppendElement(handle);
++mNrAllocations;
handle.forget(aOutHandle);
return NS_OK;
}
nsresult
-MediaEngineRemoteVideoSource::Deallocate(BaseAllocationHandle* aHandle)
+MediaEngineRemoteVideoSource::Deallocate(AllocationHandle* aHandle)
{
LOG((__PRETTY_FUNCTION__));
AssertIsOnOwningThread();
MOZ_ASSERT(aHandle);
- RefPtr<AllocationHandle> handle = static_cast<AllocationHandle*>(aHandle);
+ RefPtr<AllocationHandle> handle = aHandle;
class Comparator {
public:
static bool Equals(const RefPtr<AllocationHandle>& a,
const RefPtr<AllocationHandle>& b) {
return a.get() == b.get();
}
};
@@ -262,31 +262,30 @@ MediaEngineRemoteVideoSource::Stop(mozil
mozilla::camera::GetChildAndCall(
&mozilla::camera::CamerasChild::StopCapture,
mCapEngine, mCaptureIndex);
return NS_OK;
}
nsresult
-MediaEngineRemoteVideoSource::Restart(BaseAllocationHandle* aHandle,
+MediaEngineRemoteVideoSource::Restart(AllocationHandle* aHandle,
const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs& aPrefs,
const nsString& aDeviceId,
const char** aOutBadConstraint)
{
AssertIsOnOwningThread();
if (!mInitDone) {
LOG(("Init not done"));
return NS_ERROR_FAILURE;
}
MOZ_ASSERT(aHandle);
NormalizedConstraints constraints(aConstraints);
- return UpdateExisting(static_cast<AllocationHandle*>(aHandle), &constraints,
- aPrefs, aDeviceId, aOutBadConstraint);
+ return UpdateExisting(aHandle, &constraints, aPrefs, aDeviceId, aOutBadConstraint);
}
nsresult
MediaEngineRemoteVideoSource::UpdateExisting(AllocationHandle* aHandle,
NormalizedConstraints* aNewConstraints,
const MediaEnginePrefs& aPrefs,
const nsString& aDeviceId,
const char** aOutBadConstraint)
--- a/dom/media/webrtc/MediaEngineRemoteVideoSource.h
+++ b/dom/media/webrtc/MediaEngineRemoteVideoSource.h
@@ -66,46 +66,26 @@ public:
int DeliverI420Frame(const webrtc::I420VideoFrame& webrtc_frame) override { return 0; };
bool IsTextureSupported() override { return false; };
// MediaEngineCameraVideoSource
MediaEngineRemoteVideoSource(int aIndex, mozilla::camera::CaptureEngine aCapEngine,
dom::MediaSourceEnum aMediaSource,
const char* aMonitorName = "RemoteVideo.Monitor");
- class AllocationHandle : public BaseAllocationHandle
- {
- public:
- AllocationHandle(const dom::MediaTrackConstraints& aConstraints,
- const nsACString& aOrigin,
- const MediaEnginePrefs& aPrefs,
- const nsString& aDeviceId)
- : mConstraints(aConstraints),
- mOrigin(aOrigin),
- mPrefs(aPrefs),
- mDeviceId(aDeviceId) {}
- private:
- ~AllocationHandle() override {}
- public:
- NormalizedConstraints mConstraints;
- nsCString mOrigin;
- MediaEnginePrefs mPrefs;
- nsString mDeviceId;
- };
-
nsresult Allocate(const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs& aPrefs,
const nsString& aDeviceId,
const nsACString& aOrigin,
- BaseAllocationHandle** aOutHandle,
+ AllocationHandle** aOutHandle,
const char** aOutBadConstraint) override;
- nsresult Deallocate(BaseAllocationHandle* aHandle) override;
+ nsresult Deallocate(AllocationHandle* aHandle) override;
nsresult Start(SourceMediaStream*, TrackID, const PrincipalHandle&) override;
nsresult Stop(SourceMediaStream*, TrackID) override;
- nsresult Restart(BaseAllocationHandle* aHandle,
+ nsresult Restart(AllocationHandle* aHandle,
const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs &aPrefs,
const nsString& aDeviceId,
const char** aOutBadConstraint) override;
void NotifyPull(MediaStreamGraph* aGraph,
SourceMediaStream* aSource,
TrackID aId,
StreamTime aDesiredTime,
--- a/dom/media/webrtc/MediaEngineTabVideoSource.cpp
+++ b/dom/media/webrtc/MediaEngineTabVideoSource.cpp
@@ -135,30 +135,30 @@ MediaEngineTabVideoSource::GetUUID(nsACS
#define DEFAULT_TABSHARE_VIDEO_MAX_HEIGHT 4096
#define DEFAULT_TABSHARE_VIDEO_FRAMERATE 30
nsresult
MediaEngineTabVideoSource::Allocate(const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs& aPrefs,
const nsString& aDeviceId,
const nsACString& aOrigin,
- BaseAllocationHandle** aOutHandle,
+ AllocationHandle** aOutHandle,
const char** aOutBadConstraint)
{
// windowId is not a proper constraint, so just read it.
// It has no well-defined behavior in advanced, so ignore it there.
mWindowId = aConstraints.mBrowserWindow.WasPassed() ?
aConstraints.mBrowserWindow.Value() : -1;
aOutHandle = nullptr;
return Restart(nullptr, aConstraints, aPrefs, aDeviceId, aOutBadConstraint);
}
nsresult
-MediaEngineTabVideoSource::Restart(BaseAllocationHandle* aHandle,
+MediaEngineTabVideoSource::Restart(AllocationHandle* aHandle,
const dom::MediaTrackConstraints& aConstraints,
const mozilla::MediaEnginePrefs& aPrefs,
const nsString& aDeviceId,
const char** aOutBadConstraint)
{
MOZ_ASSERT(!aHandle);
// scrollWithPage is not proper a constraint, so just read it.
@@ -179,17 +179,17 @@ MediaEngineTabVideoSource::Restart(BaseA
mViewportOffsetY = c.mViewportOffsetY.Get(0);
mViewportWidth = c.mViewportWidth.Get(INT32_MAX);
mViewportHeight = c.mViewportHeight.Get(INT32_MAX);
}
return NS_OK;
}
nsresult
-MediaEngineTabVideoSource::Deallocate(BaseAllocationHandle* aHandle)
+MediaEngineTabVideoSource::Deallocate(AllocationHandle* aHandle)
{
MOZ_ASSERT(!aHandle);
return NS_OK;
}
nsresult
MediaEngineTabVideoSource::Start(SourceMediaStream* aStream, TrackID aID,
const PrincipalHandle& aPrincipalHandle)
--- a/dom/media/webrtc/MediaEngineTabVideoSource.h
+++ b/dom/media/webrtc/MediaEngineTabVideoSource.h
@@ -21,24 +21,24 @@ class MediaEngineTabVideoSource : public
void Shutdown() override {};
void GetName(nsAString_internal&) const override;
void GetUUID(nsACString_internal&) const override;
nsresult Allocate(const dom::MediaTrackConstraints &,
const mozilla::MediaEnginePrefs&,
const nsString& aDeviceId,
const nsACString& aOrigin,
- BaseAllocationHandle** aOutHandle,
+ AllocationHandle** aOutHandle,
const char** aOutBadConstraint) override;
- nsresult Deallocate(BaseAllocationHandle* aHandle) override;
+ nsresult Deallocate(AllocationHandle* aHandle) override;
nsresult Start(mozilla::SourceMediaStream*, mozilla::TrackID, const mozilla::PrincipalHandle&) override;
void SetDirectListeners(bool aHasDirectListeners) override {};
void NotifyPull(mozilla::MediaStreamGraph*, mozilla::SourceMediaStream*, mozilla::TrackID, mozilla::StreamTime, const mozilla::PrincipalHandle& aPrincipalHandle) override;
nsresult Stop(mozilla::SourceMediaStream*, mozilla::TrackID) override;
- nsresult Restart(BaseAllocationHandle* aHandle,
+ nsresult Restart(AllocationHandle* aHandle,
const dom::MediaTrackConstraints& aConstraints,
const mozilla::MediaEnginePrefs& aPrefs,
const nsString& aDeviceId,
const char** aOutBadConstraint) override;
bool IsFake() override;
dom::MediaSourceEnum GetMediaSource() const override {
return dom::MediaSourceEnum::Browser;
}
--- a/dom/media/webrtc/MediaEngineWebRTC.h
+++ b/dom/media/webrtc/MediaEngineWebRTC.h
@@ -73,38 +73,38 @@ public:
{
}
void GetName(nsAString& aName) const override;
void GetUUID(nsACString& aUUID) const override;
nsresult Allocate(const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs& aPrefs,
const nsString& aDeviceId,
const nsACString& aOrigin,
- BaseAllocationHandle** aOutHandle,
+ AllocationHandle** aOutHandle,
const char** aOutBadConstraint) override
{
// Nothing to do here, everything is managed in MediaManager.cpp
aOutHandle = nullptr;
return NS_OK;
}
- nsresult Deallocate(BaseAllocationHandle* aHandle) override
+ nsresult Deallocate(AllocationHandle* aHandle) override
{
// Nothing to do here, everything is managed in MediaManager.cpp
MOZ_ASSERT(!aHandle);
return NS_OK;
}
void Shutdown() override
{
// Nothing to do here, everything is managed in MediaManager.cpp
}
nsresult Start(SourceMediaStream* aMediaStream,
TrackID aId,
const PrincipalHandle& aPrincipalHandle) override;
nsresult Stop(SourceMediaStream* aMediaStream, TrackID aId) override;
- nsresult Restart(BaseAllocationHandle* aHandle,
+ nsresult Restart(AllocationHandle* aHandle,
const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs &aPrefs,
const nsString& aDeviceId,
const char** aOutBadConstraint) override;
void SetDirectListeners(bool aDirect) override
{}
void NotifyOutputData(MediaStreamGraph* aGraph,
AudioDataValue* aBuffer, size_t aFrames,
@@ -453,24 +453,24 @@ public:
void GetName(nsAString& aName) const override;
void GetUUID(nsACString& aUUID) const override;
nsresult Allocate(const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs& aPrefs,
const nsString& aDeviceId,
const nsACString& aOrigin,
- BaseAllocationHandle** aOutHandle,
+ AllocationHandle** aOutHandle,
const char** aOutBadConstraint) override;
- nsresult Deallocate(BaseAllocationHandle* aHandle) override;
+ nsresult Deallocate(AllocationHandle* aHandle) override;
nsresult Start(SourceMediaStream* aStream,
TrackID aID,
const PrincipalHandle& aPrincipalHandle) override;
nsresult Stop(SourceMediaStream* aSource, TrackID aID) override;
- nsresult Restart(BaseAllocationHandle* aHandle,
+ nsresult Restart(AllocationHandle* aHandle,
const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs &aPrefs,
const nsString& aDeviceId,
const char** aOutBadConstraint) override;
void SetDirectListeners(bool aHasDirectListeners) override {};
void NotifyPull(MediaStreamGraph* aGraph,
SourceMediaStream* aSource,
--- a/dom/media/webrtc/MediaEngineWebRTCAudio.cpp
+++ b/dom/media/webrtc/MediaEngineWebRTCAudio.cpp
@@ -218,17 +218,17 @@ uint32_t MediaEngineWebRTCMicrophoneSour
return distance;
}
nsresult
MediaEngineWebRTCMicrophoneSource::Allocate(const dom::MediaTrackConstraints &aConstraints,
const MediaEnginePrefs &aPrefs,
const nsString& aDeviceId,
const nsACString& aOrigin,
- BaseAllocationHandle** aOutHandle,
+ AllocationHandle** aOutHandle,
const char** aOutBadConstraint)
{
AssertIsOnOwningThread();
if (mState == kReleased) {
if (sChannelsOpen == 0) {
if (!InitEngine()) {
LOG(("Audio engine is not initalized"));
return NS_ERROR_FAILURE;
@@ -260,17 +260,17 @@ MediaEngineWebRTCMicrophoneSource::Alloc
}
}
++mNrAllocations;
aOutHandle = nullptr;
return Restart(nullptr, aConstraints, aPrefs, aDeviceId, aOutBadConstraint);
}
nsresult
-MediaEngineWebRTCMicrophoneSource::Restart(BaseAllocationHandle* aHandle,
+MediaEngineWebRTCMicrophoneSource::Restart(AllocationHandle* aHandle,
const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs &aPrefs,
const nsString& aDeviceId,
const char** aOutBadConstraint)
{
MOZ_ASSERT(!aHandle);
FlattenedConstraints c(aConstraints);
@@ -310,17 +310,17 @@ MediaEngineWebRTCMicrophoneSource::Resta
if (mSkipProcessing) {
mSampleFrequency = MediaEngine::USE_GRAPH_RATE;
}
return NS_OK;
}
nsresult
-MediaEngineWebRTCMicrophoneSource::Deallocate(BaseAllocationHandle* aHandle)
+MediaEngineWebRTCMicrophoneSource::Deallocate(AllocationHandle* aHandle)
{
AssertIsOnOwningThread();
MOZ_ASSERT(!aHandle);
--mNrAllocations;
MOZ_ASSERT(mNrAllocations >= 0, "Double-deallocations are prohibited");
if (mNrAllocations == 0) {
// If empty, no callbacks to deliver data should be occuring
if (mState != kStopped && mState != kAllocated) {
@@ -842,17 +842,17 @@ MediaEngineWebRTCAudioCaptureSource::Sto
{
AssertIsOnOwningThread();
aMediaStream->EndAllTrackAndFinish();
return NS_OK;
}
nsresult
MediaEngineWebRTCAudioCaptureSource::Restart(
- BaseAllocationHandle* aHandle,
+ AllocationHandle* aHandle,
const dom::MediaTrackConstraints& aConstraints,
const MediaEnginePrefs &aPrefs,
const nsString& aDeviceId,
const char** aOutBadConstraint)
{
MOZ_ASSERT(!aHandle);
return NS_OK;
}