Abstract:
When direct communication, such as via Bluetooth, is unavailable, a communication protocol is used by an initiating communication device and/or a recipient communication device to establish a communication session via a cloud-based relay server. Establishing the communication session, such as a phone call or video streaming, includes setting up at least a first connection or link between the initiating communication device and the relay server, and at least a second connection or link between the relay server and the recipient communication device. Transports and interfaces for the first link and the second link may be selected independently of each other, and at least one of transports and interfaces for the first link and the second link may differ, e.g., the communication session may include asymmetric transport.
Abstract:
When direct communication between devices, such as via Bluetooth, is unavailable, a communication protocol is used by an initiating communication device and/or a recipient communication device to establish a communication session via a cloud-based relay server. This communication protocol efficiently allocates (or binds) the initiating communication device, the recipient communication device, and the relay server together for the communication session. The communication protocol may include handshaking messages that specify a transport type and channel used for connections in the communication session, as well as an address of the relay server. After the communication session is confirmed, the communication protocol allows the initiating communication device and the recipient communication device to share messages even when physically separated from each other.
Abstract:
Some embodiments provide a method for initiating a video conference using a first mobile device. The method presents, during an audio call through a wireless communication network with a second device, a selectable user-interface (UI) item on the first mobile device for switching from the audio call to the video conference. The method receives a selection of the selectable UI item. The method initiates the video conference without terminating the audio call. The method terminates the audio call before allowing the first and second devices to present audio and video data exchanged through the video conference.
Abstract:
Some embodiments relate to a device that transmits/receives encrypted communications with another device. A first device, such as a smart phone or smart watch, may generate a message associated with a certain data class, which may determine the security procedure used in the communication of the message. The first device may establish an encryption session for the purpose of communicating the message to a second device. Prior to sending the message, the first device may wait until encryption credentials are accessible according to certain conditions, which may be determined at least in part by the data class of the message. Similarly, after receiving the message, the second device may not be able to decrypt the message until encryption credentials are accessible according to certain conditions, which may be determined at least in part by the message data class.
Abstract:
A video streaming method for transitioning between multiple sequences of coded video data may include receiving and decoding transmission units from a first sequence of coded video data. In response to a request to transition to a second sequence of coded video data, the method may determine whether a time to transition to the second sequence of coded video data can be reduced by transitioning to the second sequence of coded video data via an intermediate sequence of coded video data. If the time can be reduced, the method may include receiving at least one transmission unit from an intermediate sequence of coded video data that corresponds to the request to transition, decoding the transmission unit from the intermediate sequence, and transitioning from the first sequence to the second sequence via the decoded transmission unit from the intermediate sequence.
Abstract:
Establishing a communication channel via a relay server with reduced setup time. Upon request by an initiating communication device a relay allocation server may allocate a single relay server for use in a communication session between the initiating communication device and one or more recipient communication devices. The relay server may be selected to perform favorably for the initiating communication device. Messaging for establishment of the communication session may be performed using persistent messaging connections, to avoid connection establishment cost. Messaging may also be performed using address tokens to avoid the cost of discovering global IP addresses. Following establishment of the communication session, the relay server may discover the IP address of one or more recipient communication devices, and may initiate reallocation of those devices to another relay server.
Abstract:
Some embodiments relate to a device that transmits/receives encrypted communications with another device. A first device, such as a smart phone or smart watch, may generate a message associated with a certain data class, which may determine the security procedure used in the communication of the message. The first device may establish an encryption session for the purpose of communicating the message to a second device. Prior to sending the message, the first device may wait until encryption credentials are accessible according to certain conditions, which may be determined at least in part by the data class of the message. Similarly, after receiving the message, the second device may not be able to decrypt the message until encryption credentials are accessible according to certain conditions, which may be determined at least in part by the message data class.
Abstract:
The subject technology provides a messaging application in which an image can be captured and supplemented with supplemental content such as stickers, animations, etc., from within an active messaging thread. In this manner, a user participating in a messaging conversation with a remote user can add stickers, animations, and/or adaptive content to an image captured by the user, without having to locally cache/store the captured image before editing and without having to leave the messaging conversion (or the messaging application) to access an image editing application.
Abstract:
The subject technology provides a messaging application in which an image can be captured and supplemented with supplemental content such as stickers, animations, etc., from within an active messaging thread. In this manner, a user participating in a messaging conversation with a remote user can add stickers, animations, and/or adaptive content to an image captured by the user, without having to locally cache/store the captured image before editing and without having to leave the messaging conversion (or the messaging application) to access an image editing application.
Abstract:
An integrated accessory control system can efficiently set up a new media streaming session with one or more accessories. A session identifier for the new session, as well as a destination address and security parameters can be generated. A data object comprising the generated elements can be written to a resource location. Additionally, a second data object comprising the session identifier, a streaming source address, a source identifier, and additional security parameters can be read from the resource location. A third data object comprising the session identifier, a session start command, and codec parameters can then be generated. The third data object can also be written to the resource location. Further, streamed media data conforming to the codec parameters and the security parameters may be received.