Closed
Bug 1487057
Opened 6 years ago
Closed 6 years ago
Finish cleaning up audio input devices code
Categories
(Core :: WebRTC: Audio/Video, enhancement, P2)
Core
WebRTC: Audio/Video
Tracking
()
RESOLVED
FIXED
mozilla64
People
(Reporter: padenot, Assigned: padenot)
References
Details
Attachments
(10 files)
46 bytes,
text/x-phabricator-request
|
pehrsons
:
review+
|
Details | Review |
46 bytes,
text/x-phabricator-request
|
pehrsons
:
review+
|
Details | Review |
46 bytes,
text/x-phabricator-request
|
pehrsons
:
review+
|
Details | Review |
46 bytes,
text/x-phabricator-request
|
pehrsons
:
review+
|
Details | Review |
46 bytes,
text/x-phabricator-request
|
pehrsons
:
review+
|
Details | Review |
46 bytes,
text/x-phabricator-request
|
Details | Review | |
46 bytes,
text/x-phabricator-request
|
Details | Review | |
46 bytes,
text/x-phabricator-request
|
Details | Review | |
46 bytes,
text/x-phabricator-request
|
Details | Review | |
46 bytes,
text/x-phabricator-request
|
Details | Review |
Last step after bug 1404977, to reach something clean so we don't have to touch it for some time.
Assignee | ||
Updated•6 years ago
|
Priority: -- → P2
Assignee | ||
Comment 1•6 years ago
|
||
This a summary of the thread on which the methods of MediaEngineWebRTCMicrophoneSource are called: # MediaManager thread (also called Owning thread or Media thread sometimes) > MediaEngineWebRTCMicrophoneSource (ctor) > nsString GetName() const override; > nsCString GetUUID() const override; > nsresult Allocate() override; > nsresult Deallocate() override; > nsresult SetTrack() override; > nsresult Start() override; > nsresult Stop() override; > nsresult Reconfigure() override; > dom::MediaSourceEnum GetMediaSource() const override > nsresult TakePhoto() override > uint32_t GetBestFitnessDistance() const override; > void Shutdown() override; > nsresult ReevaluateAllocation(); > nsresult UpdateSingleSource(); > void UpdateAECSettingsIfNeeded(); > void UpdateAGCSettingsIfNeeded(); > void UpdateNSSettingsIfNeeded(); > void ApplySettings(); > bool HasEnabledTrack() const; # Never called (but required because of inheritance) > bool RequiresSharing(); # Main thread > void GetSettings() const override; # Graph thread (also called MSG thread, audio callback thread) > void Pull() override; > void NotifyOutputData() override; > void NotifyInputData() override; > void DeviceChanged() override; > uint32_t RequestedInputChannelCount() override > void Disconnect() override; > void InsertInGraph(); > void PacketizeAndProcess(); > bool PassThrough() const; > void SetPassThrough(); > uint32_t GetRequestedInputChannelCount(); > void SetRequestedInputChannelCount(); Not too bad. The issue is with the attributes in those methods, it's really weird.
Assignee | ||
Comment 2•6 years ago
|
||
Patches are at https://hg.mozilla.org/users/paul_paul.cx/mozilla-unified/pushloghtml?changeset=b284fb47488072289c48c2e80376e5714c499741 for now, a couple are missing still.
Assignee | ||
Comment 3•6 years ago
|
||
Assignee | ||
Comment 4•6 years ago
|
||
Assignee | ||
Comment 5•6 years ago
|
||
Assignee | ||
Comment 6•6 years ago
|
||
It's not maintained and probably does not work anymore.
Assignee | ||
Comment 7•6 years ago
|
||
Assignee | ||
Comment 8•6 years ago
|
||
Assignee | ||
Comment 9•6 years ago
|
||
Assignee | ||
Comment 10•6 years ago
|
||
Big but not complex: - Remove the mutex - Move all MSG thread to a new class (AudioInputProcessing) - Remove the WebRTCAudioDataListener class, AudioInputProcessing is the listener - Use message passing for all modifications to the AudioInputProcessing.
Comment 11•6 years ago
|
||
Comment on attachment 9007809 [details] Bug 1487057 - Part 1 - Move audio related classes in MediaEngineWebRTC.h to their own header files, clean up includes slightly. r?pehrsons Andreas Pehrson [:pehrsons] has approved the revision.
Attachment #9007809 -
Flags: review+
Comment 12•6 years ago
|
||
Comment on attachment 9007810 [details] Bug 1487057 - Part 2 - Remove RegisterForAudioMixing/NeedsMixing, they are unused. r?pehrsons Andreas Pehrson [:pehrsons] has approved the revision.
Attachment #9007810 -
Flags: review+
Comment 13•6 years ago
|
||
Comment on attachment 9007811 [details] Bug 1487057 - Part 3 - Turn the mAllocations array into an mAllocation UniquePtr, that can be nullptr. r?pehrsons Andreas Pehrson [:pehrsons] has approved the revision.
Attachment #9007811 -
Flags: review+
Comment 14•6 years ago
|
||
Comment on attachment 9007812 [details] Bug 1487057 - Part 4 - Remove AsyncLatencyLogger and associated code. r?pehrsons Andreas Pehrson [:pehrsons] has approved the revision.
Attachment #9007812 -
Flags: review+
Comment 15•6 years ago
|
||
Comment on attachment 9007813 [details] Bug 1487057 - Part 5 - Remove MediaEngineWebRTCMicrophoneSource::mStarted. r?pehrsons Andreas Pehrson [:pehrsons] has approved the revision.
Attachment #9007813 -
Flags: review+
Assignee | ||
Comment 16•6 years ago
|
||
Assignee | ||
Comment 17•6 years ago
|
||
It was redundant with mState.
Comment 18•6 years ago
|
||
Pushed by paul@paul.cx: https://hg.mozilla.org/integration/mozilla-inbound/rev/efd0c87b160b Part 1 - Move audio related classes in MediaEngineWebRTC.h to their own header files, clean up includes slightly. r=pehrsons https://hg.mozilla.org/integration/mozilla-inbound/rev/7e6e230af698 Part 2 - Remove RegisterForAudioMixing/NeedsMixing, they are unused. r=pehrsons https://hg.mozilla.org/integration/mozilla-inbound/rev/2ff222ff2a72 Part 3 - Turn the mAllocations array into an mAllocation UniquePtr, that can be nullptr. r=pehrsons https://hg.mozilla.org/integration/mozilla-inbound/rev/304b4f68b942 Part 4 - Remove AsyncLatencyLogger and associated code. r=pehrsons https://hg.mozilla.org/integration/mozilla-inbound/rev/746f70de2691 Part 5 - Remove MediaEngineWebRTCMicrophoneSource::mStarted. r=pehrsons https://hg.mozilla.org/integration/mozilla-inbound/rev/582e630a2fcb Part 6 - Reorganize attributes and document thread access better. r=pehrsons https://hg.mozilla.org/integration/mozilla-inbound/rev/273c92182c3c Part 7 - Flatten mAllocation and fix some locking. r=pehrsons https://hg.mozilla.org/integration/mozilla-inbound/rev/45d2c462dc92 Part 8 - Split MediaEngineWebRTCMicrophoneSource in two classes, one for control one for processing. r=pehrsons https://hg.mozilla.org/integration/mozilla-inbound/rev/e1a790218e20 Part 9 - Make SourceMediaStream::SetEnded go through the message queue so it's in the right order w.r.t. Stop. r=pehrsons https://hg.mozilla.org/integration/mozilla-inbound/rev/9cf36402deed Part 10 - Remove MediaEngineWebRTCAudio::mEnabled. r=pehrsons https://hg.mozilla.org/integration/mozilla-inbound/rev/0190c5793ffe Part 11 - Work around the fact that EndTrack uses mCommands. r=pehrsons
Assignee | ||
Comment 19•6 years ago
|
||
The last patch here was reviewed on irc.
Comment 20•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/efd0c87b160b https://hg.mozilla.org/mozilla-central/rev/7e6e230af698 https://hg.mozilla.org/mozilla-central/rev/2ff222ff2a72 https://hg.mozilla.org/mozilla-central/rev/304b4f68b942 https://hg.mozilla.org/mozilla-central/rev/746f70de2691 https://hg.mozilla.org/mozilla-central/rev/582e630a2fcb https://hg.mozilla.org/mozilla-central/rev/273c92182c3c https://hg.mozilla.org/mozilla-central/rev/45d2c462dc92 https://hg.mozilla.org/mozilla-central/rev/e1a790218e20 https://hg.mozilla.org/mozilla-central/rev/9cf36402deed https://hg.mozilla.org/mozilla-central/rev/0190c5793ffe
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox64:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
Updated•6 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•