public final OperationFuture<Channel, OperationMetadata> updateChannelAsync(
      Channel channel, FieldMask updateMask) {
    UpdateChannelRequest request =
        UpdateChannelRequest.newBuilder().setChannel(channel).setUpdateMask(updateMask).build();
    return updateChannelAsync(request);
  }
Updates the specified channel.

<p>Sample code:

<pre>{@code
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (LivestreamServiceClient livestreamServiceClient = LivestreamServiceClient.create()) {
  Channel channel = Channel.newBuilder().build();
  FieldMask updateMask = FieldMask.newBuilder().build();
  Channel response = livestreamServiceClient.updateChannelAsync(channel, updateMask).get();
}
}</pre>

@param channel Required. The channel resource to be updated.
@param updateMask Field mask is used to specify the fields to be overwritten in the Channel
    resource by the update. You can only update the following fields:
    <ul>
      <li>[`inputAttachments`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#inputattachment)
      <li>[`inputConfig`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#inputconfig)
      <li>[`output`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#output)
      <li>[`elementaryStreams`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#elementarystream)
      <li>[`muxStreams`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#muxstream)
      <li>[`manifests`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#manifest)
      <li>[`spriteSheets`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#spritesheet)
      <li>[`logConfig`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#logconfig)
      <li>[`timecodeConfig`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#timecodeconfig)
      <li>[`encryptions`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#encryption)
    </ul>
    <p>The fields specified in the update_mask are relative to the resource, not the full
    request. A field will be overwritten if it is in the mask.
    <p>If the mask is not present, then each field from the list above is updated if the field
    appears in the request payload. To unset a field, add the field to the update mask and
    remove it from the request payload.
@throws com.google.api.gax.rpc.ApiException if the remote call fails
java-video-live-stream/google-cloud-live-stream/src/main/java/com/google/cloud/video/livestream/v1/LivestreamServiceClient.java