# &lt;GCKMediaControlChannelDelegate&gt; Protocol

[Instance Methods](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#pub-methods) \<GCKMediaControlChannelDelegate\> Protocol Reference

## Overview

The [GCKMediaControlChannel](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_control_channel "A GCKCastChannel subclass for media control operations. ") delegate protocol.

Inherits \<GCKCastChannelNSObject\>.

|---|---|
| ## Instance Method Summary ||
| (void) | - [mediaControlChannel:didCompleteLoadWithSessionID:](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#a2d13d021e5ecebbb6ef34bb25cabb415) |
|   | Called when a request to load media has completed. [More...](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#a2d13d021e5ecebbb6ef34bb25cabb415) |
|   ||
| (void) | - [mediaControlChannel:didFailToLoadMediaWithError:](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#a0dac7c79e5e062a01afb826afa001c93) |
|   | Called when a request to load media has failed. [More...](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#a0dac7c79e5e062a01afb826afa001c93) |
|   ||
| (void) | - [mediaControlChannelDidUpdateStatus:](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#a0fd482bf2cfa5a79bf1d443a07c10298) |
|   | Called when updated player status information is received. [More...](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#a0fd482bf2cfa5a79bf1d443a07c10298) |
|   ||
| (void) | - [mediaControlChannelDidUpdateQueue:](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#a33493fb2742cd3f2e2918555ddd39cac) |
|   | Called when updated queue status information is received. [More...](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#a33493fb2742cd3f2e2918555ddd39cac) |
|   ||
| (void) | - [mediaControlChannelDidUpdatePreloadStatus:](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#a0495197c63c041e6b33d3e6824521ed4) |
|   | Called when updated preload status is received. [More...](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#a0495197c63c041e6b33d3e6824521ed4) |
|   ||
| (void) | - [mediaControlChannelDidUpdateMetadata:](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#aa4806bab8620540325ae199c3574b034) |
|   | Called when updated media metadata is received. [More...](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#aa4806bab8620540325ae199c3574b034) |
|   ||
| (void) | - [mediaControlChannel:requestDidCompleteWithID:](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#adf270fee936b43be996bcafc141e47b9) |
|   | Called when a request succeeds. [More...](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#adf270fee936b43be996bcafc141e47b9) |
|   ||
| (void) | - [mediaControlChannel:didReplaceRequestWithID:](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#abee3342b4b0455b507132885d9a9aad1) |
|   | Called when a request is no longer being tracked because another request of the same type has been issued by the application. [More...](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#abee3342b4b0455b507132885d9a9aad1) |
|   ||
| (void) | - [mediaControlChannel:didCancelRequestWithID:](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#a14f80e1928401ce54caa8d41c4004dc3) |
|   | Called when a request is no longer being tracked because it has been explicitly cancelled. [More...](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#a14f80e1928401ce54caa8d41c4004dc3) |
|   ||
| (void) | - [mediaControlChannel:requestDidFailWithID:error:](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#a420be0323e2b9663027774beada042bb) |
|   | Called when a request fails. [More...](https://developers.google.com/cast/v3/reference/ios/protocol_g_c_k_media_control_channel_delegate-p#a420be0323e2b9663027774beada042bb) |
|   ||

## Method Detail

|---|---|
| |---|---|---|---| | - (void) mediaControlChannel: |   | ([GCKMediaControlChannel](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_control_channel) \*) | *mediaControlChannel* | | didCompleteLoadWithSessionID: |   | (NSInteger) | *sessionID* | |   |   |   |   | | optional |

Called when a request to load media has completed.

Parameters
:

    |---|---|
    | mediaControlChannel | The channel. |
    | sessionID | The unique media session ID that has been assigned to this media item. |


|---|---|
| |---|---|---|---| | - (void) mediaControlChannel: |   | ([GCKMediaControlChannel](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_control_channel) \*) | *mediaControlChannel* | | didFailToLoadMediaWithError: |   | ([GCKError](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_error) \*) | *error* | |   |   |   |   | | optional |

Called when a request to load media has failed.

Parameters
:

    |---|---|
    | mediaControlChannel | The channel. |
    | error | The load error. |


|---|---|
| |---|---|---|---|---| | - (void) mediaControlChannelDidUpdateStatus: |   | ([GCKMediaControlChannel](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_control_channel) \*) | *mediaControlChannel* |   | | optional |

Called when updated player status information is received.

Parameters
:

    |---|---|
    | mediaControlChannel | The channel. |


|---|---|
| |---|---|---|---|---| | - (void) mediaControlChannelDidUpdateQueue: |   | ([GCKMediaControlChannel](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_control_channel) \*) | *mediaControlChannel* |   | | optional |

Called when updated queue status information is received.

Parameters
:

    |---|---|
    | mediaControlChannel | The channel. |


|---|---|
| |---|---|---|---|---| | - (void) mediaControlChannelDidUpdatePreloadStatus: |   | ([GCKMediaControlChannel](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_control_channel) \*) | *mediaControlChannel* |   | | optional |

Called when updated preload status is received.

Parameters
:

    |---|---|
    | mediaControlChannel | The channel. |


|---|---|
| |---|---|---|---|---| | - (void) mediaControlChannelDidUpdateMetadata: |   | ([GCKMediaControlChannel](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_control_channel) \*) | *mediaControlChannel* |   | | optional |

Called when updated media metadata is received.

Parameters
:

    |---|---|
    | mediaControlChannel | The channel. |


|---|---|
| |---|---|---|---| | - (void) mediaControlChannel: |   | ([GCKMediaControlChannel](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_control_channel) \*) | *mediaControlChannel* | | requestDidCompleteWithID: |   | (NSInteger) | *requestID* | |   |   |   |   | | optional |

Called when a request succeeds.

Parameters
:

    |---|---|
    | mediaControlChannel | The channel. |
    | requestID | The request ID that failed. This is the ID returned when the request was made. |


|---|---|
| |---|---|---|---| | - (void) mediaControlChannel: |   | ([GCKMediaControlChannel](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_control_channel) \*) | *mediaControlChannel* | | didReplaceRequestWithID: |   | (NSInteger) | *requestID* | |   |   |   |   | | optional |

Called when a request is no longer being tracked because another request of the same type has been issued by the application.

Parameters
:

    |---|---|
    | mediaControlChannel | The channel. |
    | requestID | The request ID that has been replaced. This is the ID returned when the request was made. |


|---|---|
| |---|---|---|---| | - (void) mediaControlChannel: |   | ([GCKMediaControlChannel](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_control_channel) \*) | *mediaControlChannel* | | didCancelRequestWithID: |   | (NSInteger) | *requestID* | |   |   |   |   | | optional |

Called when a request is no longer being tracked because it has been explicitly cancelled.

Parameters
:

    |---|---|
    | mediaControlChannel | The channel. |
    | requestID | The request ID that has been cancelled. This is the ID returned when the request was made. |


|---|---|
| |---|---|---|---| | - (void) mediaControlChannel: |   | ([GCKMediaControlChannel](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_control_channel) \*) | *mediaControlChannel* | | requestDidFailWithID: |   | (NSInteger) | *requestID* | | error: |   | ([GCKError](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_error) \*) | *error* | |   |   |   |   | | optional |

Called when a request fails.

Parameters
:

    |---|---|
    | mediaControlChannel | The channel. |
    | requestID | The request ID that failed. This is the ID returned when the request was made. |
    | error | The error. If any custom data was associated with the error, it will be in the error's userInfo dictionary with the key[kGCKErrorCustomDataKey](https://developers.google.com/cast/v3/reference/ios/g_c_k_error_8h#a6217ab0dfe1c723d8c6f4e19d61fe2f1) . |