fm.liveswitch.android.MediaProjectionSource Class Reference

An Android MediaProjection-based video source. More...

Public Member Functions

String getLabel ()
 Gets a label that identifies this class. More...
 
 MediaProjectionSource (MediaProjection projection, Context context, double frameRate)
 Initializes a new instance of the MediaProjectionSource class. More...
 
boolean setRotation (Display display)
 
- Public Member Functions inherited from fm.liveswitch.ScreenSourceBase
fm.liveswitch.ScreenConfig getConfig ()
 Gets the current config. More...
 
double getFrameRate ()
 Gets the current frame-rate, in fps. More...
 
double getMaxFrameRate ()
 Gets the maximum output frame-rate, in fps. More...
 
double getMaxOutputFrameRate ()
 Gets the maximum allowed output frame-rate, in fps. More...
 
fm.liveswitch.Size getMaxOutputSize ()
 Gets the maximum allowed output size. More...
 
fm.liveswitch.Size getMaxSize ()
 Gets the maximum output size. More...
 
double getMaxSupportedFrameRate ()
 Gets the maximum supported frame-rate, in fps. More...
 
fm.liveswitch.Size getMaxSupportedSize ()
 Gets the maximum supported size. More...
 
double getMinFrameRate ()
 Gets the minimum frame-rate, in fps. More...
 
double getMinOutputFrameRate ()
 Gets the minimum allowed output frame-rate, in fps. More...
 
fm.liveswitch.Size getMinOutputSize ()
 Gets the minimum allowed output size. More...
 
fm.liveswitch.Size getMinSize ()
 Gets the minimum size. More...
 
double getMinSupportedFrameRate ()
 Gets the minimum supported frame-rate, in fps. More...
 
fm.liveswitch.Size getMinSupportedSize ()
 Gets the minimum supported size. More...
 
fm.liveswitch.Point getOrigin ()
 Gets the current origin. More...
 
fm.liveswitch.Rectangle getRegion ()
 Gets the current region. More...
 
fm.liveswitch.Size getSize ()
 Gets the current size. More...
 
boolean getStaticOutputFrameRate ()
 Gets whether fm.liveswitch.ScreenSourceBase#getMinOutputFrameRate and fm.liveswitch.ScreenSourceBase#getMaxOutputFrameRate should return fm.liveswitch.ScreenSourceBase#getMinSupportedFrameRate and fm.liveswitch.ScreenSourceBase#getMaxSupportedFrameRate, respectively, or response to changes in fm.liveswitch.ScreenSourceBase#getMinFrameRate and fm.liveswitch.ScreenSourceBase#getMaxFrameRate. More...
 
boolean getStaticOutputSize ()
 Gets whether fm.liveswitch.ScreenSourceBase#getMinOutputSize and fm.liveswitch.ScreenSourceBase#getMaxOutputSize should return fm.liveswitch.ScreenSourceBase#getMinSupportedSize and fm.liveswitch.ScreenSourceBase#getMaxSupportedSize, respectively, or response to changes in fm.liveswitch.ScreenSourceBase#getMinSize and fm.liveswitch.ScreenSourceBase#getMaxSize. More...
 
fm.liveswitch.ScreenConfig getTargetConfig ()
 Gets the target config. More...
 
double getTargetFrameRate ()
 Gets the target frame-rate, in fps. More...
 
fm.liveswitch.Point getTargetOrigin ()
 Gets the target origin. More...
 
double getTargetOutputFrameRate ()
 Gets the target output frame-rate, in fps. More...
 
fm.liveswitch.Size getTargetOutputSize ()
 Gets the target output size. More...
 
fm.liveswitch.Rectangle getTargetRegion ()
 Gets the target region. More...
 
fm.liveswitch.Size getTargetSize ()
 Gets the target size. More...
 
 ScreenSourceBase (fm.liveswitch.VideoFormat outputFormat, fm.liveswitch.ScreenConfig targetConfig)
 Initializes a new instance of the fm.liveswitch.ScreenSourceBase class. More...
 
void setMaxFrameRate (double value)
 Sets the maximum output frame-rate, in fps. More...
 
void setMaxSize (fm.liveswitch.Size value)
 Sets the maximum output size. More...
 
void setMinFrameRate (double value)
 Sets the minimum frame-rate, in fps. More...
 
void setMinSize (fm.liveswitch.Size value)
 Sets the minimum size. More...
 
void setStaticOutputFrameRate (boolean value)
 Sets whether fm.liveswitch.ScreenSourceBase#getMinOutputFrameRate and fm.liveswitch.ScreenSourceBase#getMaxOutputFrameRate should return fm.liveswitch.ScreenSourceBase#getMinSupportedFrameRate and fm.liveswitch.ScreenSourceBase#getMaxSupportedFrameRate, respectively, or response to changes in fm.liveswitch.ScreenSourceBase#getMinFrameRate and fm.liveswitch.ScreenSourceBase#getMaxFrameRate. More...
 
void setStaticOutputSize (boolean value)
 Sets whether fm.liveswitch.ScreenSourceBase#getMinOutputSize and fm.liveswitch.ScreenSourceBase#getMaxOutputSize should return fm.liveswitch.ScreenSourceBase#getMinSupportedSize and fm.liveswitch.ScreenSourceBase#getMaxSupportedSize, respectively, or response to changes in fm.liveswitch.ScreenSourceBase#getMinSize and fm.liveswitch.ScreenSourceBase#getMaxSize. More...
 
void setTargetConfig (fm.liveswitch.ScreenConfig value)
 Sets the target config. More...
 
void setTargetOrigin (fm.liveswitch.Point value)
 Sets the target origin. More...
 
void setTargetRegion (fm.liveswitch.Rectangle value)
 Sets the target region. More...
 
void setTargetSize (fm.liveswitch.Size value)
 Sets the target size. More...
 
- Public Member Functions inherited from fm.liveswitch.VideoSource
void addOnRaiseSizeChange (fm.liveswitch.IAction1< fm.liveswitch.Size > value)
 Adds a handler that is raised when a frame is about to be raised with a size that does not match the prior frame. More...
 
int getAverageFrameRate ()
 Gets the average frame rate. More...
 
String getContent ()
 Gets the content descriptor. More...
 
long getFrameCount ()
 Gets the frame count. More...
 
double getFrameRateDistance (double frameRate1, double frameRate2)
 Gets the distance between two frame rates. More...
 
fm.liveswitch.EncodingInfo getMaxOutputEncoding ()
 Gets the maximum allowed output encoding. More...
 
int getMaxOutputHeight ()
 Gets the maximum allowed output height. More...
 
double getMaxOutputScale ()
 Gets the maximum allowed output scale. More...
 
int getMaxOutputWidth ()
 Gets the maximum allowed output width. More...
 
fm.liveswitch.EncodingInfo getMinOutputEncoding ()
 Gets the minimum allowed output encoding. More...
 
int getMinOutputHeight ()
 Gets the minimum allowed output height. More...
 
double getMinOutputScale ()
 Gets the minimum allowed output scale. More...
 
int getMinOutputWidth ()
 Gets the minimum allowed output width. More...
 
boolean getOverConstrainedFrameRate ()
 Gets whether the source frame-rate is over-constrained. More...
 
boolean getOverConstrainedHeight ()
 Gets whether the source height is over-constrained. More...
 
boolean getOverConstrainedOutput ()
 Gets whether the output is over-contrained. More...
 
boolean getOverConstrainedOutputFrameRate ()
 Gets whether the minimum allowed output frame-rate exceeds the maximum allowed output frame-rate. More...
 
boolean getOverConstrainedOutputHeight ()
 Gets whether the minimum allowed output height exceeds the maximum allowed output height. More...
 
boolean getOverConstrainedOutputScale ()
 Gets whether the minimum allowed output scale exceeds the maximum allowed output scale. More...
 
boolean getOverConstrainedOutputSize ()
 Gets whether the minimum allowed output size exceeds the maximum allowed output size. More...
 
boolean getOverConstrainedOutputWidth ()
 Gets whether the minimum allowed output width exceeds the maximum allowed output width. More...
 
boolean getOverConstrainedScale ()
 Gets whether the source scale is over-constrained. More...
 
boolean getOverConstrainedSize ()
 Gets whether the source size is over-constrained. More...
 
boolean getOverConstrainedWidth ()
 Gets whether the source width is over-constrained. More...
 
int getSizeDistance (int width1, int height1, int width2, int height2)
 Gets the distance between two sizes. More...
 
fm.liveswitch.EncodingInfo getTargetOutputEncoding ()
 Gets the target output encoding. More...
 
int getTargetOutputHeight ()
 Gets the target output height. More...
 
double getTargetOutputScale ()
 Gets the target output scale. More...
 
int getTargetOutputWidth ()
 Gets the target output width. More...
 
fm.liveswitch.VideoType getVideoType ()
 Gets the video type. More...
 
void removeOnRaiseSizeChange (fm.liveswitch.IAction1< fm.liveswitch.Size > value)
 Removes a handler that is raised when a frame is about to be raised with a size that does not match the prior frame. More...
 
 VideoSource (fm.liveswitch.VideoFormat outputFormat)
 Initializes a new instance of the fm.liveswitch.VideoSource class. More...
 
- Public Member Functions inherited from fm.liveswitch.MediaSourceBase
String getExternalId ()
 Gets the external identifier. More...
 
String getId ()
 Gets the identifier. More...
 
String getTag ()
 Gets optional data to associate with this instance. More...
 
void setExternalId (String value)
 Sets the external identifier. More...
 
void setTag (String value)
 Sets optional data to associate with this instance. More...
 
abstract fm.liveswitch.Future< Object > start ()
 Starts this instance. More...
 
abstract fm.liveswitch.Future< Object > stop ()
 Stops this instance. More...
 
- Public Member Functions inherited from fm.liveswitch.Dynamic
java.util.HashMap< String, Object > getDynamicProperties ()
 Gets all dynamic properties on this instance. More...
 
Object getDynamicValue (String key)
 Gets a property value from the local cache. More...
 
void setDynamicValue (String key, Object value)
 Sets a property value in the local cache. More...
 
boolean unsetDynamicValue (String key)
 Removes a property value from the local cache. More...
 
- Public Member Functions inherited from fm.liveswitch.IElement
abstract String getExternalId ()
 Gets the external identifier. More...
 
abstract String getId ()
 Gets the identifier. More...
 
abstract String getPipelineJson ()
 Gets the pipeline JSON with this as the central point. More...
 
abstract void setExternalId (String value)
 Sets the external identifier. More...
 
- Public Member Functions inherited from fm.liveswitch.IMediaElement
abstract boolean destroy ()
 Destroys this instance. More...
 
abstract boolean getDeactivated ()
 Gets a value indicating whether this instance is deactivated. More...
 
abstract boolean getDisabled ()
 Gets a value indicating whether this instance is disabled. More...
 
abstract boolean getMuted ()
 Gets a value indicating whether this instance is muted. More...
 
abstract boolean getPaused ()
 Gets a value indicating whether this instance is paused. More...
 
abstract boolean getPersistent ()
 Gets a value indicating whether this instance is persistent. More...
 
abstract void setDeactivated (boolean value)
 Sets a value indicating whether this instance is deactivated. More...
 
abstract void setMuted (boolean value)
 Sets a value indicating whether this instance is muted. More...
 

Protected Member Functions

Future< Object > doStart ()
 
Future< Object > doStop ()
 
- Protected Member Functions inherited from fm.liveswitch.ScreenSourceBase
void setConfig (fm.liveswitch.ScreenConfig value)
 Sets the current config. More...
 
void setFrameRate (double value)
 Sets the current frame-rate, in fps. More...
 
void setMaxOutputFrameRate (double value)
 Sets the maximum allowed output frame-rate, in fps. More...
 
void setMaxOutputSize (fm.liveswitch.Size value)
 Sets the maximum allowed output size. More...
 
void setMinOutputFrameRate (double value)
 Sets the minimum allowed output frame-rate, in fps. More...
 
void setMinOutputSize (fm.liveswitch.Size value)
 Sets the minimum allowed output size. More...
 
void setOrigin (fm.liveswitch.Point value)
 Sets the current origin. More...
 
void setRegion (fm.liveswitch.Rectangle value)
 Sets the current region. More...
 
void setSize (fm.liveswitch.Size value)
 Sets the current size. More...
 
void setTargetFrameRate (double value)
 Sets the target frame-rate, in fps. More...
 
void setTargetOutputFrameRate (double value)
 Sets the target output frame-rate, in fps. More...
 
void setTargetOutputSize (fm.liveswitch.Size value)
 Sets the target output size. More...
 
- Protected Member Functions inherited from fm.liveswitch.VideoSource
fm.liveswitch.IVideoInputCollection createInputCollection (fm.liveswitch.IVideoOutput output)
 Creates an input collection. More...
 
boolean outputCanProcessFrame (fm.liveswitch.IVideoInput output)
 Determines whether an output can process a frame from this pipe. More...
 
void raiseFrame (fm.liveswitch.VideoFrame frame)
 Raises a frame. More...
 
void setMaxOutputEncoding (fm.liveswitch.EncodingInfo value)
 Sets the maximum allowed output encoding. More...
 
void setMaxOutputScale (double value)
 Sets the maximum allowed output scale. More...
 
void setMinOutputEncoding (fm.liveswitch.EncodingInfo value)
 Sets the minimum allowed output encoding. More...
 
void setMinOutputScale (double value)
 Sets the minimum allowed output scale. More...
 
void setTargetOutputEncoding (fm.liveswitch.EncodingInfo value)
 Sets the target output encoding. More...
 
void setTargetOutputScale (double value)
 Sets the target output scale. More...
 
void setVideoType (fm.liveswitch.VideoType value)
 Sets the video type. More...
 
- Protected Member Functions inherited from fm.liveswitch.MediaSourceBase
 MediaSourceBase ()
 
- Protected Member Functions inherited from fm.liveswitch.Dynamic
 Dynamic ()
 
- Protected Member Functions inherited from fm.liveswitch.Serializable
boolean getIsDirty ()
 Gets a value indicating whether this instance is dirty. More...
 
 Serializable ()
 Initializes a new instance of the fm.liveswitch.Serializable class. More...
 
void setIsDirty (boolean value)
 Sets a value indicating whether this instance is dirty. More...
 

Detailed Description

An Android MediaProjection-based video source.

Constructor & Destructor Documentation

◆ MediaProjectionSource()

fm.liveswitch.android.MediaProjectionSource.MediaProjectionSource ( MediaProjection  projection,
Context  context,
double  frameRate 
)

Initializes a new instance of the MediaProjectionSource class.

Parameters
projectionThe media projection.
contextThe Android context.
frameRateThe frame rate.

Member Function Documentation

◆ doStart()

Future<Object> fm.liveswitch.android.MediaProjectionSource.doStart ( )
protected

◆ doStop()

Future<Object> fm.liveswitch.android.MediaProjectionSource.doStop ( )
protected

◆ getLabel()

String fm.liveswitch.android.MediaProjectionSource.getLabel ( )

Gets a label that identifies this class.

Implements fm.liveswitch.IMediaElement.

◆ setRotation()

boolean fm.liveswitch.android.MediaProjectionSource.setRotation ( Display  display)