Abstract:
Methods and systems provide control of media synchronization using time stamp pairs. In an embodiment, a first device may request a time stamp from a second device. The first device may determine any de-synchronization between the first and second devices based on the requested time stamp and characteristics of the request. The first device may define a rate scalar based on the determined de-synchronization. A sample rate conversion may be performed for the first device based on the rate scalar such that the outputs of the first device and the second device are synchronized.
Abstract:
Systems, methods, and computer-readable medium are provided for managing connections of user devices. For example, two source devices may be configured to maintain a data stream with one another. The data stream may enable the two source devices to identify one or more connections between each other and at least a third device. In response to receiving an event that indicates content to be provided to the third device, the data stream may be used by the source devices to configure their network connections with the third device.
Abstract:
A system determines to use at least two independent renderers to render at least two output streams that are to be synchronized. The independent renderers are provided with a shared synchronization object when instructed to render the respective output stream. A time when all of the independent renderers can render a respective first buffer of the respective output stream is determined from the shared synchronization object. Rendering of the output streams utilizing the independent renderers is begun at the determined time. In this way, rendering of the output streams may be synchronized.
Abstract:
Systems, methods, and computer-readable medium are provided for managing connections of user devices. For example, two source devices may be configured to maintain a data stream with one another. The data stream may enable the two source devices to identify one or more connections between each other and at least a third device. In response to receiving an event that indicates content to be provided to the third device, the data stream may be used by the source devices to configure their network connections with the third device.
Abstract:
A centralized resource manager manages the routing of audio or visual information within a device, including a handheld device such as a smartphone. The resource manager evaluates data-driven policies to determine how to route audio or visual information to or from various input or output components connected to the device, including headphones, built-in speakers, microphones, bluetooth headsets, cameras, and so on. Among the data considered in the policies are connection status data, indicating if a device is connected, routing status data, indicating if a device is permitted to route information to or from a component, and grouping data, indicating logical relationships between various components. Components may be considered inherently routable, automatically mutable, or optionally routable. Numerous other uses exist for such data, including providing simpler and more logical management interfaces.
Abstract:
An operating system of a device receives, from an application executing on that device, data that identifies a category of hardware resources that the application needs to use in order to function. That category is mapped to a specified set of hardware resources of the device. The operating system also receives, from the application, data that identifies a mode. The mode corresponds to an intended use of a set of hardware resources and is mapped to a group of hardware resource settings that are consistent with the intended use. The operating system allocates, to the application, a particular set of hardware resources that are mapped to the category. The operating system configures one or more hardware resources in the particular set of hardware resources in conformity with a particular group of settings that are mapped to the mode.
Abstract:
A system and method for routing communication to a common audio output device connected to each of two or more audio signal source devices. For each of the two or more audio signal source devices, a set of inputs are assessed. The set of inputs include: an operational state of the audio signal source device, an activity the audio signal source device, an audio-producing application being executed by the audio signal source device, and a degree of user activity with the audio-producing application being executed by the audio signal source. At a point in time, an audio routing score is generated for each of the two or more audio signal source devices according to a weighted calculation of the set of inputs based on the assessing. Finally, an audio signal routing decision is made, to route an audio signal from one of the two or more audio signal source devices to the audio output device, based on the audio routing score for each of the two or more audio signal source devices.
Abstract:
In an embodiment, a device may include an attention detection service. The attention detection service may monitor various peripheral devices in the device for indications that a user is paying attention to the device. Various clients may register for notification of attention detection and attention lost (attention no longer detected) events, or may poll the service for the events. If a user is not paying attention to the device, it may be possible to take various actions to permit reduced energy consumption.
Abstract:
A centralized resource manager manages the routing of audio or visual information within a device, including a handheld device such as a smartphone. The resource manager evaluates data-driven policies to determine how to route audio or visual information to or from various input or output components connected to the device, including headphones, built-in speakers, microphones, bluetooth headsets, cameras, and so on. Among the data considered in the policies are connection status data, indicating if a device is connected, routing status data, indicating if a device is permitted to route information to or from a component, and grouping data, indicating logical relationships between various components. Components may be considered inherently routable, automatically routable, or optionally routable. Numerous other uses exist for such data, including providing simpler and more logical management interfaces.
Abstract:
In one aspect a device-side audio handling input/output unit (DIO) of a hardware device writes audio data generated by the hardware device within a ring buffer. An input provided by a user for activation of a software program is received, and a notification that the software program is ready to accept the audio data is generated. A system-side audio handling input/output unit (SIO) additionally provides past audio data from the ring buffer to the software program. Other aspects also are described.