NPAPI:AudioControl: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Clarify the value is a pointer to a bool)
(General updates and bool is in pointer value, not pointed to)
Line 1: Line 1:
= Status =
= Status =


Drafting.
Approved


= Contributors =
= Contributors =
Line 7: Line 7:
* Last modified: June 1, 2015
* Last modified: June 1, 2015
* Authors: Kyle Huey (Mozilla), Benoit Girard (Mozilla)
* Authors: Kyle Huey (Mozilla), Benoit Girard (Mozilla)
* Contributors:  
* Contributors: Josh Aas (Mozilla)
 
= Changes =
 
Modified in 2015 to be a push API instead of a pull API and to use Get/SetValue.


= Use case =
= Use case =
Line 24: Line 20:
</pre>
</pre>


This NPPVariable, when set via NPN_SetValue, will let the plugin instance signal via a pointer to a BOOL if the current instance is currently playing audio.
This NPPVariable, when set via NPN_SetValue, will signal whether or not an instance is currently playing audio. This is done by assigning a BOOL value to NPN_SetValue's pointer value argument (not by pointing to a BOOL, as one might expect).


== Mute/Unmute a plugin instance ==
== Mute/Unmute a plugin instance ==
Line 32: Line 28:
</pre>
</pre>


This NPNVariable, when set via NPP_SetValue, will let the browser notify the plugin that it should mute audio for the current plugin instance. The value will be a pointer to a BOOL.
This NPNVariable, when set via NPP_SetValue, will indicate to a plugin whether or not it should mute audio for an instance. This is done by assigning a BOOL value to NPP_SetValue's pointer value argument (not by pointing to a BOOL, as one might expect).

Revision as of 23:32, 24 June 2015

Status

Approved

Contributors

  • Last modified: June 1, 2015
  • Authors: Kyle Huey (Mozilla), Benoit Girard (Mozilla)
  • Contributors: Josh Aas (Mozilla)

Use case

The ability to mute/unmute tabs or determine which tabs are playing audio is a commonly requested feature in web browsers. This specification allows browsers to mute/unmute instances of cooperating plugins and determine which instances are playing audio. Browsers can use these APIs to implement per-tab audio control.

Proposed Specification

Determine if an instance is playing audio

NPPVpluginIsPlayingAudio = 4000

This NPPVariable, when set via NPN_SetValue, will signal whether or not an instance is currently playing audio. This is done by assigning a BOOL value to NPN_SetValue's pointer value argument (not by pointing to a BOOL, as one might expect).

Mute/Unmute a plugin instance

NPNVmuteAudioBool = 4000

This NPNVariable, when set via NPP_SetValue, will indicate to a plugin whether or not it should mute audio for an instance. This is done by assigning a BOOL value to NPP_SetValue's pointer value argument (not by pointing to a BOOL, as one might expect).