Skip to content
This repository was archived by the owner on Aug 30, 2024. It is now read-only.

Commit e6dc7d9

Browse files
Update for 2.2.3 release
1 parent 43c5d03 commit e6dc7d9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+91
-95
lines changed

docs/.buildinfo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: 80fbc7d4b328dec9759e2c05cbd42e1a
3+
config: 2454e2cfe77c04d304c84ea5556c17f8
44
tags: 645f666f9bcd5a90fca523b33c5a78b7
-190 Bytes
Binary file not shown.
-745 Bytes
Binary file not shown.
-6.15 KB
Binary file not shown.

docs/.doctrees/environment.pickle

-1.77 KB
Binary file not shown.

docs/.doctrees/index.doctree

0 Bytes
Binary file not shown.
581 Bytes
Binary file not shown.
-1.8 KB
Binary file not shown.

docs/_sources/api/sdk/common/async_ops.rst.txt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,17 @@
33
Asynchronous Operations
44
=======================
55

6-
The SDK provides a thread-safe, asynchronous, and reentrant public API. This means that these public API methods can return results produced asynchronously in the form of :cpp:type:`async_result <dolbyio::comms::async_result>`. The :cpp:type:`async_result <dolbyio::comms::async_result>` object represents an eventual completion or a failure of an asynchronous operation and its resulting value. All calls to the SDK are queued onto the SDKs event loop and processed in the FIFO (First In, First Out) order. After making a call, the SDK user application is responsible for either blocking until the operation completes and result is available or setting a function object to execute when the asynchronous operation resolves using the :cpp:class:`async_result and <dolbyio::comms::detail::async_result>` methods. We highly recommend the latter to fully utilize the asynchronous capabilities of the SDK.
6+
The SDK provides a thread-safe, asynchronous, and reentrant public API. This means that these public API methods can return results produced asynchronously
7+
in the form of :cpp:type:`async_result <dolbyio::comms::async_result>`. The :cpp:type:`async_result <dolbyio::comms::async_result>` object represents
8+
an eventual completion or a failure of an asynchronous operation and its resulting value. All calls to the SDK are queued onto the SDKs event loop
9+
and processed in the FIFO (First In, First Out) order. After making a call, the SDK user application is responsible for either blocking the :cpp:func:`wait <dolbyio::comms::wait>`
10+
results or setting a function object execute when the asynchronous operation returns using the
11+
:cpp:class:`async_result and <dolbyio::comms::detail::async_result>` methods.
712

813
When a user application invokes an asynchronous method of the SDK, the SDK creates two objects: :cpp:type:`solver <dolbyio::comms::solver>`,
9-
which is used by the asynchronous operation to notify about its completion, and :cpp:type:`async_result <dolbyio::comms::async_result>`, which is used by the application to get the completion notifications. Both of these objects share the same internal state. The user application must set function object callbacks to be executed when the operation succeeds or fails on the async_result. When the asynchronous operation completes the callbacks set by the user, it invokes the application.
14+
which is used by the asynchronous operation to notify about its completion, and :cpp:type:`async_result <dolbyio::comms::async_result>`, which is used by the application to get the completion notifications. Both of these objects share the same internal state. The user application must set function
15+
object callbacks to be executed when the operation succeeds or fails on the async_result. If the :cpp:func:`wait <dolbyio::comms::wait>` helper is used,
16+
this is done automatically. When the asynchronous operation completes the callbacks set by the user, it invokes the application.
1017
If the asynchronous operation ends before the callbacks are set by the user application, then the callbacks are invoked as soon as they are
1118
set, on the application's thread. Otherwise, the callbacks are invoked when the operation is finished on the SDK's event loop.
1219

@@ -40,6 +47,7 @@ sections below. The helper method allows for synchronous usage of the asynchrono
4047
.. doxygenfunction:: dolbyio::comms::wait
4148
:project: C++ SDK
4249

50+
4351
.. _async_resultt:
4452

4553
Async Result Class

docs/_sources/other/getting_started.rst.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ In the **Media IO Mode** the sample app can:
9494
2) :cpp:func:`Set Audio Sink <dolbyio::comms::services::media_io::set_audio_sink>` for the conference to receive PCM audio from conference participants. This means Opus Codec will be used and thus to use the :cpp:class:`Audio Sink <dolbyio::comms::audio_sink>` must be set prior to conference creation.
9595
3) :cpp:func:`Set Encoded Video Sink <dolbyio::comms::services::media_io::set_encoded_video_sink>` for the conference to receive video frames before they are decoded. This must be called before the conference is created, but it does not prevent applications from receiving the decoded video frames as well.
9696

97-
The sample application makes use of the Default Media Recorder module. If you would like to write your own Media Recorder, see the :ref:`recording_example` section. The sample application also uses the Default Media Injector module and the sample Media Source File library. If you would like to write your own Media Injector, see the
97+
The sample application makes use of the :cpp:func:`dolbyio::comms::wait` call for all asynchronous operations. Additionally, the sample application makes use of the Default Media Recorder module. If you would like to write your own Media Recorder, see the :ref:`recording_example` section. The sample application also uses the Default Media Injector module and the sample Media Source File library. If you would like to write your own Media Injector, see the
9898
:ref:`injection_example` section. If you would like to write your own Media Source for the injector, see the :ref:`Media Source File <media_source_file>` section, as well as the sample library itself.
9999

100100
.. _build_run_sample:

0 commit comments

Comments
 (0)