package com.distantfuture.castcompanionlibrary.lib.cast.callbacks; import com.google.android.gms.cast.ApplicationMetadata; import com.google.android.gms.cast.Cast; import com.google.android.gms.cast.CastDevice; public interface IVideoCastConsumer extends IBaseCastConsumer { /** * Called when the application is successfully launched or joined. Upon successful connection, a * session ID is returned. <code>wasLaunched</code> indicates if the application was launched or * joined. */ public void onApplicationConnected(ApplicationMetadata appMetadata, String sessionId, boolean wasLaunched); /** * Called when an application launch has failed. Failure reason is captured in the * <code>errorCode</code> argument. Here is a list of possible values: * <ul> * <li>4 : Application not found * <li>5 : Application not currently running * <li>6 : Application already running * </ul> * If this method returns <code>true</code>, then the library will provide an error dialog to * inform the user. Clients can extend this method and return <code>false</code> to handle the * error message themselves. * <p/> * return <code>true</code> if you want the library handle the error message */ public boolean onApplicationConnectionFailed(int errorCode); /** * Called when an attempt to stop a receiver application has failed. */ public void onApplicationStopFailed(int errorCode); /** * Called when application status changes. The argument is built by the receiver */ public void onApplicationStatusChanged(String appStatus); /** * Called when the device's volume is changed. Note not to mix that with the stream's volume */ public void onVolumeChanged(double value, boolean isMute); /** * Called when the current application has stopped */ public void onApplicationDisconnected(int errorCode); /** * Called when metadata of the current media changes */ public void onRemoteMediaPlayerMetadataUpdated(); /** * Called when media's status updated. */ public void onRemoteMediaPlayerStatusUpdated(); /** * Called when the data channel callback is removed from the {@link Cast} object. */ public void onRemovedNamespace(); /** * Called when there is an error sending a message. * <p/> * param messageId The ID of the message that could not be sent. * param errorCode An error code indicating the reason for the disconnect. One of the error * constants defined in CastErrors. */ public void onDataMessageSendFailed(int errorCode); /** * Called when a message is received from a given {@link CastDevice}. */ public void onDataMessageReceived(String message); }