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:
A method for detecting and recovering from a transmission channel change during a streaming media session is disclosed. The method can include a wireless communication device detecting a stall condition resulting from a transmission channel change. The method can further include the wireless communication device capturing a snapshot of a current transmission parameter state of the streaming media session in response to detecting the stall condition. The method can also include the wireless communication device using the snapshot to restore the streaming media session to the transmission parameter state captured by the snapshot following completion of the transmission channel change.
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 my 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:
Computing devices may implement dynamic display of video communication data. Video communication data for a video communication may be received at a computing device where another application is currently displaying image data on an electronic display. A display location may be determined for the video communication data according to display attributes that are configured by the other application at runtime. Once determined, the video communication data may then be displayed in the determined location. In some embodiments, the video communication data may be integrated with other data displayed on the electronic display for the other application.
Abstract:
In video conferencing over a radio network, the radio equipment is a major power consumer especially in cellular networks such as LTE. In order to reduce the radio power consumption in video conferencing, it is important to introduce an enough radio inactive time. Several types of data buffering and bundling can be employed within a reasonable range of latency that doesn't significantly disrupt the real-time nature of video conferencing. In addition, the data transmission can be synchronized to the data reception in a controlled manner, which can result in an even longer radio inactive time and thus take advantage of radio power saving modes such as LTE C-DRX.
Abstract:
Methods for establishing a direct peer-to-peer (“P2P”) connection between two computers are disclosed. In particular, the methods are designed to work in cases where one or both of the computers are connected to a private network, such private networks being interconnected via a public network, such as the Internet. The connections between the private network and the public network are facilitated by network address translation (“NAT”).
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:
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:
Methods, systems, and apparatuses are provided for managing communication of data to/from a device. For example, multiple client applications running on the device can communicate to a second device through a same primary socket connection. A mux module can receive data from two different client applications over respective client connections. The received data can include header information identifying the second device as the destination. When the first data from a first client application is received at the mux module, the primary socket connection can be created; and when the second data from a second client application is received, the existing primary socket connection can be identified and re-used. The primary socket connection can be managed by a controller of the mux module.