meet
Stay organized with collections
Save and categorize content based on your preferences.
This file contains MediaApiClientInterface
.
Summary
It is designed to utilize the PeerConnection interface.
It demonstrates "how-to", and establishes the required configurations and SCTP/SRTP connections with Meet servers. These connections enable the streaming of conference metadata, video, and audio streams from Google Meet conferences to the client.
All conference media streams are "receive-only". Currently, the Meet Media API does not support sending of media fromMediaApiClientInterface
into a conference.
API requests from the client intended to affect application state of a conference or received media (e.g. change video resolution), are transmitted via SCTP data channels. This is in contrast to typical API requests over HTTP or RPC.
The following steps are needed to set up a typical Meet Media API session:
- Create an implementation of the
MediaApiClientObserverInterface
. - Create a
MediaApiClientInterface
using an implementation of theMediaApiClientFactoryInterface
. - Call
MediaApiClientInterface::ConnectActiveConference
with the appropriate parameters. This initiates the connection with Meet servers. - Wait for the
MediaApiClientObserverInterface::OnJoined
callback to be invoked. - If video was enabled, send a
meet::SetVideoAssignmentRequest
viaMediaApiClientInterface::SendRequest
. No video will be transmitted from Meet servers to the client until a successful request has been sent. Checkvideo_assignment_resource.h
for more information.
Typedefs |
|
---|---|
ResourceRequest
|
usingstd::variant< SessionControlChannelFromClient, VideoAssignmentChannelFromClient, MediaStatsChannelFromClient >
Requests that can be sent to Meet servers. |
ResourceUpdate
|
usingstd::variant< SessionControlChannelToClient, VideoAssignmentChannelToClient, MediaEntriesChannelToClient, ParticipantsChannelToClient, MediaStatsChannelToClient >
Updates that can be received from Meet servers. |
Classes |
|
---|---|
meet:: |
Interface for instantiating |
meet:: |
Interface for the Meet Media API client. |
meet:: |
Interface for observing client events. |
Structs |
|
---|---|
meet:: |
Anonymous user. |
meet:: |
|
meet:: |
Required dimensions of the canvas. |
meet:: |
|
meet:: |
Tells the server that the client is about to disconnect. |
meet:: |
|
meet:: |
|
meet:: |
The top-level transport container for messages sent from server to client in the |
meet:: |
|
meet:: |
|
meet:: |
|
meet:: |
The top-level transport container for messages sent from client to server in the |
meet:: |
The top-level transport container for messages sent from server to client in the |
meet:: |
The configuration for the media stats upload. |
meet:: |
|
meet:: |
A resource snapshot managed by the server and replicated to the client. |
meet:: |
|
meet:: |
This type represents an |
meet:: |
|
meet:: |
|
meet:: |
A resource snapshot managed by the server and replicated to the client. |
meet:: |
The top-level transport container for messages converted from proto to C++ struct. |
meet:: |
Phone user, always has a display name. |
meet:: |
The top-level transport container for messages sent from client to server in the |
meet:: |
The top-level transport container for messages sent from server to client in the |
meet:: |
|
meet:: |
|
meet:: |
An optional response from Meet servers to an incoming request. |
meet:: |
This is a singleton resource containing the status of the media session. |
meet:: |
|
meet:: |
Signed in user type. Always has a unique ID and display name. |
meet:: |
Uploads media stats from the client to the server. |
meet:: |
|
meet:: |
The top-level transport container for messages sent from client to server in the |
meet:: |
The top-level transport container for messages sent from server to client in the |
meet:: |
|
meet:: |
A resource snapshot managed by the server and replicated to the client. |
meet:: |
|
meet:: |
|
meet:: |
|
meet:: |
|
meet:: |
Typedefs
ResourceRequest
std::variant< SessionControlChannelFromClient, VideoAssignmentChannelFromClient, MediaStatsChannelFromClient > ResourceRequest
Requests that can be sent to Meet servers.
Requests can expect a corresponding response via the MediaApiClientObserverInterface
.
ResourceUpdate
std::variant< SessionControlChannelToClient, VideoAssignmentChannelToClient, MediaEntriesChannelToClient, ParticipantsChannelToClient, MediaStatsChannelToClient > ResourceUpdate
Updates that can be received from Meet servers.
Updates can be received in response to a request sent via MediaApiClientInterface::SendRequest
or from a push from Meet servers.