Abstract:
Some embodiments use several different types of networks to relay several different types of media content among several different computing devices. The media content of some embodiments is data that a computing device can process in order to provide a presentation of the media content to a user of the device. Examples of types of such media content include audio data, video data, text data, picture data, game data, and/or other media data. In some embodiments, two different networks relay media content of two different types among multiple computing devices. Specifically, in some embodiments, a first network routes among the computing devices one type of media data content (e.g., game data), while a second network routes among the computing devices another type of media data content (e.g., audio and/or video data of game participants). The two networks differ in some embodiments based on their topology.
Abstract:
A method for adaptive audio codec selection during a communication session is disclosed. The method can include negotiating a set of audio codecs for use during the communication session. The method can further include defining multiple audio tiers. Each audio tier can be associated with a network condition and can define an audio codec from the set of audio codecs for use in the associated network condition. The method can also include using a first audio codec during the wireless communication session. The method can additionally include determining a changed network condition selecting a second audio codec by determining the audio tier corresponding to the changed network condition. The method can further include, in response to the changed network condition, switching from the first audio codec to a second audio codec that is defined by an audio tier having an associated network condition corresponding to the changed network condition.
Abstract:
Computing devices may implement dynamic transitions from video messages to video communications. Video communication data for a video message may be received at a recipient device. The video communication data may be displayed as it is received, and recorded for subsequent playback. An indication of a selection to establish a video communication with the sender of the video message may be received, or an indication that display of the video communication is to be ceased may be received. If a video communication is to be established, then a video communication connection with the sender of the video message may be created so that subsequent video communication data may be sent via the established connection.
Abstract:
Computing devices may implement dynamic detection of pause and resume for video communications. Video communication data may be capture at a participant device in a video communication. The video communication data may be evaluated to detect a pause or resume event for the transmission of the video communication data. Various types of video, audio, and other sensor analysis may be used to detect when a pause event or a resume event may be triggered. For triggered pause events, at least some of the video communication data may no longer be transmitted as part of the video communication. For triggered resume events, a pause state may cease and all of the video communication data may be transmitted.
Abstract:
conducting a real time application between a mobile device and a remote device. A first one or more messages may be transmitted to the remote device to establish a primary channel of communication for the real-time application. The primary channel may use a first radio access technology (RAT), such as WiFi or a cellular RAT. A second one or more messages may be transmitted to the remote device to establish a secondary channel of communication for the real-time application. The secondary channel may use a second RAT that is different from the first RAT. Data of the real-time application may be transmitted over both the primary channel and the secondary channel in a concurrent or redundant fashion.
Abstract:
Performing a real-time application on a mobile device, involving communication of audio/video packets with a remote device. The mobile device may initially communicate the audio/video packets on a first communication channel with the remote device. During the real-time communication, the mobile device may determine if no packets have been received by the mobile device from the remote device for a first threshold period of time. If no packets have been received by the mobile device from the remote device for the first threshold period of time, the mobile device may establish a second communication channel for transmission of the audio/video packets with the remote device. In response to using the second communication channel, the mobile device may modify a resolution or bit rate of the audio/video packets transmitted to the remote device.
Abstract:
At least certain embodiments of the present disclosure include a framework for turning one or more multifunctional devices coupled to a personal area network (PAN) into virtual accessories of another multifunctional device coupled to the PAN. In one embodiment, connection between a multifunctional device and a PAN is established, where the PAN is further coupled to a set of multifunctional devices. One or more distributed functionalities associated with a multi-device capable application are assigned to each multifunctional device based on relationship between the multifunctional devices. At least part of the multi-device capable application is shared between the multifunctional devices. Using the multifunctional device, the one or more distributed functionalities are performed in collaboration with the other multifunctional devices.
Abstract:
A wireless device described herein can use information on data flow, in addition to indications from the physical network, to decide on suitable bandwidth usage for audio and video information. This data flow information is further used to determine an efficient network route to use for high-quality reception and transmission of audio and video data, as well as the appropriate time to switch between available network routes to improve bandwidth performance.
Abstract:
Some embodiments provide a method for conducting a video conference between a first mobile device and a second device. The first mobile device includes first and second cameras. The method selects the first camera for capturing images. The method transmits images captured by the first camera to the second device. The method receives selections of the second camera for capturing images during the video conference. The method terminates the transmission of images captured by the first camera and transmits images captured by the second camera of the first mobile device to the second device during the video conference.
Abstract:
A system and method for conducting a video call between an originating device and a terminating device by establishing a peer-to-peer (P2P) connection between the devices. The originating and terminating devices exchange candidate information through a P2P server, except that the candidate information for the terminating device is altered before arriving at the originating device. The altering includes changing the IP address and corresponding port for each candidate. The originating device uses the altered candidate information to derive new candidate pairs that are sent to the terminating device, which uses the new candidate pairs to also derive a second candidate list. If the candidate pairs match, a P2P connection is established between the devices.