mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-23 10:15:41 +00:00
03a1803261
Backed out changeset 277c1f8098d1 (bug 1170958) Backed out changeset aa86bb9eea95 (bug 1170958) Backed out changeset 8af8b85a4b26 (bug 1170958) Backed out changeset ec1bf225e9cb (bug 1170958) Backed out changeset 4a04ddca2b6b (bug 1170958) Backed out changeset e85c9977a311 (bug 1170958) Backed out changeset 16b40ff04e8f (bug 1170958) Backed out changeset ad206925c84a (bug 1170958) Backed out changeset 2106eccec79b (bug 1170958)
74 lines
1.8 KiB
C++
74 lines
1.8 KiB
C++
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-*/
|
|
/* 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/. */
|
|
|
|
#include "MediaStreamTrack.h"
|
|
|
|
#include "DOMMediaStream.h"
|
|
#include "nsIUUIDGenerator.h"
|
|
#include "nsServiceManagerUtils.h"
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
MediaStreamTrack::MediaStreamTrack(DOMMediaStream* aStream, TrackID aTrackID)
|
|
: mStream(aStream), mTrackID(aTrackID), mEnded(false), mEnabled(true)
|
|
{
|
|
|
|
nsresult rv;
|
|
nsCOMPtr<nsIUUIDGenerator> uuidgen =
|
|
do_GetService("@mozilla.org/uuid-generator;1", &rv);
|
|
|
|
nsID uuid;
|
|
memset(&uuid, 0, sizeof(uuid));
|
|
if (uuidgen) {
|
|
uuidgen->GenerateUUIDInPlace(&uuid);
|
|
}
|
|
|
|
char chars[NSID_LENGTH];
|
|
uuid.ToProvidedString(chars);
|
|
mID = NS_ConvertASCIItoUTF16(chars);
|
|
}
|
|
|
|
MediaStreamTrack::~MediaStreamTrack()
|
|
{
|
|
}
|
|
|
|
NS_IMPL_CYCLE_COLLECTION_INHERITED(MediaStreamTrack, DOMEventTargetHelper,
|
|
mStream)
|
|
|
|
NS_IMPL_ADDREF_INHERITED(MediaStreamTrack, DOMEventTargetHelper)
|
|
NS_IMPL_RELEASE_INHERITED(MediaStreamTrack, DOMEventTargetHelper)
|
|
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(MediaStreamTrack)
|
|
NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper)
|
|
|
|
void
|
|
MediaStreamTrack::GetId(nsAString& aID) const
|
|
{
|
|
aID = mID;
|
|
}
|
|
|
|
void
|
|
MediaStreamTrack::SetEnabled(bool aEnabled)
|
|
{
|
|
mEnabled = aEnabled;
|
|
mStream->SetTrackEnabled(mTrackID, aEnabled);
|
|
}
|
|
|
|
void
|
|
MediaStreamTrack::Stop()
|
|
{
|
|
mStream->StopTrack(mTrackID);
|
|
}
|
|
|
|
already_AddRefed<Promise>
|
|
MediaStreamTrack::ApplyConstraints(const MediaTrackConstraints& aConstraints,
|
|
ErrorResult &aRv)
|
|
{
|
|
return mStream->ApplyConstraintsToTrack(mTrackID, aConstraints, aRv);
|
|
}
|
|
|
|
} // namespace dom
|
|
} // namespace mozilla
|