Skip to content

Commit

Permalink
Code autogenerated from Kurento/doc-kurento@ffc0caa
Browse files Browse the repository at this point in the history
  • Loading branch information
jenkinskurento committed Aug 4, 2021
1 parent 280531b commit 0f3a55f
Show file tree
Hide file tree
Showing 343 changed files with 1,447 additions and 1,203 deletions.
24 changes: 24 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Read the Docs Configuration File.
# https://docs.readthedocs.io/en/stable/config-file/v2.html
#
# This replaces the "Default settings" in the RTD website:
# https://readthedocs.org/dashboard/doc-kurento/advanced/

version: 2

# Use Sphinx to build HTML documentation.
sphinx:
builder: html
configuration: source/conf.py
fail_on_warning: false

# Use this Python version and dependencies.
python:
version: "3"
install:
- requirements: requirements.txt

# Sphinx additional build formats: EPUB, PDF.
formats:
- epub
- pdf
21 changes: 0 additions & 21 deletions .readthedocs.yml

This file was deleted.

11 changes: 8 additions & 3 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
# pip3 install -r requirements.txt
# Pip Requirements File
# https://pip.pypa.io/en/latest/user_guide/#requirements-files
#
# Usage:
# $ pip3 install --upgrade -r requirements.txt
# $ export PATH="$HOME/.local/bin:$PATH"

sphinx == 3.3.0
sphinx-rtd-theme == 0.5.0
Sphinx~=3.5.4
sphinx-rtd-theme~=0.5.2
2 changes: 1 addition & 1 deletion source/dev/dev_guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ There are several repositories that contain sample code for developers that use
- `kurento-tutorial-js <https://github.com/Kurento/kurento-tutorial-js>`__
- `kurento-tutorial-node <https://github.com/Kurento/kurento-tutorial-node>`__

A KMS developer must know how to work with KMS Fork and Main repositories and understand that each of these have a different development life cycle. The majority of development for KMS will occur at theK MS Main repositories, while it's unusual to make changes in Fork repositories except for updating their upstream versions.
A KMS developer must know how to work with KMS Fork and Main repositories and understand that each of these have a different development life cycle. The majority of development for KMS will occur at the KMS Main repositories, while it's unusual to make changes in Fork repositories except for updating their upstream versions.



Expand Down
8 changes: 4 additions & 4 deletions source/dev/release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -819,9 +819,9 @@ When all repos have been released, and CI jobs have finished successfully:
- kurento-jsonrpc-client-jetty
- kurento-jsonrpc-server
- kurento-parent-pom
- kurento-repository (ABANDONED)
- kurento-repository-client (ABANDONED)
- kurento-repository-internal (ABANDONED)
- kurento-repository (UNMAINTAINED)
- kurento-repository-client (UNMAINTAINED)
- kurento-repository-internal (UNMAINTAINED)
- kurento-test
- All of them must appear in the correct version, ``$NEW_VERSION``.

Expand All @@ -847,7 +847,7 @@ New Development
.. code-block:: shell
# Change here.
NEW_VERSION="<NextVersion>-SNAPSHOT" # Eg.: 1.0.1
NEW_VERSION="<NextVersion>" # Eg.: 1.0.1
function do_release {
local COMMIT_MSG="Prepare for next development iteration"
Expand Down
2 changes: 2 additions & 0 deletions source/features/kurento_modules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,8 @@ The **FaceOverlayFilter** filter detects faces in a video stream and overlaid it
.. image:: /images/toolbox/GStreamerFilter.png
:align: center

Note that usage of some popular GStreamer elements requires installation of additional packages. For example, overlay elements such as *timeoverlay* or *textoverlay* require installation of the **gstreamer1.5-x** package, which will also install the *Pango* rendering library.

The following class diagram shows the relationships of the main filter classes:

.. graphviz:: /images/graphs/filters.dot
Expand Down
7 changes: 5 additions & 2 deletions source/features/logging.rst
Original file line number Diff line number Diff line change
Expand Up @@ -116,11 +116,14 @@ Other less commonly used logging levels are:
export GST_DEBUG="${GST_DEBUG:-2},kmsutils:5,rtpsynchronizer:5,rtpsynccontext:5,basertpendpoint:5"
* **JSON-RPC** API server calls:
* **JSON-RPC** API server:

.. code-block:: shell
export GST_DEBUG="${GST_DEBUG:-2},KurentoWebSocket*:5"
export GST_DEBUG="${GST_DEBUG:-2},KurentoServerMethods:5,KurentoWebSocket*:5"
* "KurentoServerMethods:5" shows WebSocket Ping/Pong messages. Use "KurentoServerMethods:6" for even more details about server session management such as caching of requests.
* "KurentoWebSocket*:5" shows all JSON-RPC messages that are sent and received, including Client/Server Keep-Alives.

* **Unit tests**:

Expand Down
Binary file added source/images/packet-loss-green.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added source/images/packet-loss-macroblocks.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
173 changes: 101 additions & 72 deletions source/knowledge/browser.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,18 @@ Example commands are written for a Linux shell, because that's what Kurento deve
Firefox
=======

Security sandboxes
------------------

Firefox has several sandboxes that can affect the logging output. For troubleshooting and development, it is recommended that you learn which sandbox might be getting in the way of the logs you need, and disable it:

For example:

* To get logs from ``MOZ_LOG="signaling:5"``, first set ``security.sandbox.content.level`` to *0*.
* To inspect audio issues, disable the audio sandbox by setting ``media.cubeb.sandbox`` to *false*.



Test instance
-------------

Expand Down Expand Up @@ -43,12 +55,12 @@ Debug logging can be enabled with the parameters *MOZ_LOG* and *MOZ_LOG_FILE*. T

In Firefox 54 and later, you can use ``about:networking``, and select the Logging option, to change *MOZ_LOG* / *MOZ_LOG_FILE* options on the fly (without restarting the browser).

Lastly, you can also use ``about:config`` and set any log option into the profile preferences, by adding (right-click -> New) a variable named ``logging.<NoduleName>``, and setting it to an integer value of 0-5. For example, setting *logging.foo* to *3* will set the module *foo* to start logging at level 3 ("*Info*"). The special pref *logging.config.LOG_FILE* can be set at runtime to change the log file being output to, and the special boolean prefs *logging.config.sync* and *logging.config.add_timestamp* can be used to control the *sync* and *timestamp* properties:
Lastly, you can also use ``about:config`` and set any log option into the profile preferences, by adding (right-click -> New) a variable named ``logging.<NoduleName>``, and setting it to an integer value of 0-5. For example, setting *logging.foo* to *3* will set the module *foo* to start logging at level 3 ("*Info*"). The special pref *logging.config.LOG_FILE* can be set at runtime to change the log file being output to, and the special booleans *logging.config.sync* and *logging.config.add_timestamp* can be used to control the *sync* and *timestamp* properties:

- **sync**: Print each log synchronously, this is useful to check behavior in real time or get logs immediately before crash.
- **timestamp**: Insert timestamp at start of each log line.

These are the Mozilla Logging Levels:
Logging Levels:

- **(0) DISABLED**: Indicates logging is disabled. This should not be used directly in code.
- **(1) ERROR**: An error occurred, generally something you would consider asserting in a debug build.
Expand All @@ -57,7 +69,44 @@ These are the Mozilla Logging Levels:
- **(4) DEBUG**: A debug message, useful for debugging but too verbose to be turned on normally.
- **(5) VERBOSE**: A message that will be printed a lot, useful for debugging program flow and will probably impact performance.

Some examples:
Log categories:

* Multimedia:

- AudioStream:5
- MediaCapabilities:5
- MediaControl:5
- MediaEncoder:5
- MediaManager:5
- MediaRecorder:5
- MediaStream:5
- MediaStreamTrack:5
- MediaTimer:5
- MediaTrackGraph:5
- Muxer:5
- PlatformDecoderModule:5
- PlatformEncoderModule:5
- TrackEncoder:5
- VP8TrackEncoder:5
- VideoEngine:5
- VideoFrameConverter:5
- cubeb:5

* WebRTC:

- Autoplay:5
- GetUserMedia:5
- webrtc_trace:5
- signaling:5
- MediaPipeline:5
- RtpLogger:5
- RTCRtpReceiver:5
- sdp:5



Examples
~~~~~~~~

Linux:

Expand All @@ -67,12 +116,20 @@ Linux:
export MOZ_LOG_FILE=/tmp/firefox.log
/usr/bin/firefox
Linux with *MOZ_LOG* passed as command line arguments:

.. code-block:: shell
/usr/bin/firefox \
-MOZ_LOG=timestamp,rotate:200,nsHttp:5,cache2:5,nsSocketTransport:5,nsHostResolver:5 \
-MOZ_LOG_FILE=/tmp/firefox.log
Mac:

.. code-block:: shell
export MOZ_LOG=timestamp,rotate:200,nsHttp:5,cache2:5,nsSocketTransport:5,nsHostResolver:5
export MOZ_LOG_FILE=~/Desktop/firefox.log
export MOZ_LOG_FILE=/tmp/firefox.log
/Applications/Firefox.app/Contents/MacOS/firefox-bin
Windows:
Expand All @@ -83,15 +140,7 @@ Windows:
set MOZ_LOG_FILE=%TEMP%\firefox.log
"C:\Program Files\Mozilla Firefox\firefox.exe"
With command line arguments:

.. code-block:: shell
/usr/bin/firefox \
-MOZ_LOG=timestamp,rotate:200,nsHttp:5,cache2:5,nsSocketTransport:5,nsHostResolver:5 \
-MOZ_LOG_FILE=/tmp/firefox.log
Log :term:`ICE` candidates / :term:`STUN` / :term:`TURN`:
:term:`ICE` candidates / :term:`STUN` / :term:`TURN`:

.. code-block:: shell
Expand All @@ -117,43 +166,7 @@ WebRTC dump example (see https://blog.mozilla.org/webrtc/debugging-encrypted-rtp
| cut -d ' ' -f 5- \
| text2pcap -D -n -l 1 -i 17 -u 1234,1235 -t '%H:%M:%S.' - firefox-rtp.pcap
Other log categories:

Multimedia:

* AudioStream:5
* MediaCapabilities:5
* MediaControl:5
* MediaEncoder:5
* MediaManager:5
* MediaRecorder:5
* MediaStream:5
* MediaStreamTrack:5
* MediaTimer:5
* MediaTrackGraph:5
* Muxer:5
* PlatformDecoderModule:5
* PlatformEncoderModule:5
* TrackEncoder:5
* VP8TrackEncoder:5
* VideoEngine:5
* VideoFrameConverter:5
* cubeb:5

WebRTC:

* Autoplay:5
* GetUserMedia:5
* webrtc_trace:5
* signaling:5
* MediaPipeline:5
* RtpLogger:5
* RTCRtpReceiver:5
* sdp:5

Notes:

* The audio sandbox can be enabled or disabled with the user preference *media.cubeb.sandbox*.
Media decoding (audio sandbox can be enabled or disabled with the user preference ``media.cubeb.sandbox``):

.. code-block:: shell
Expand All @@ -162,13 +175,6 @@ Notes:
/usr/bin/firefox -no-remote -profile "$(mktemp --directory)" \
"https://localhost:8443/"
# Equivalent code for Selenium:
# firefoxOptions.addPreference("media.cubeb.sandbox", true);
# firefoxOptions.addPreference("logging.config.add_timestamp", true);
# firefoxOptions.addPreference("logging.config.sync", true);
# firefoxOptions.addPreference("logging.cubeb", 5);
# firefoxOptions.addPreference("logging.MediaTrackGraph", 5);
Safari
Expand Down Expand Up @@ -201,25 +207,48 @@ Debug logging

Sources:

* https://webrtc.org/web-apis/chrome/
* https://www.chromium.org/for-testers/enable-logging
* https://www.chromium.org/developers/how-tos/run-chromium-with-flags
* https://peter.sh/experiments/chromium-command-line-switches/
* https://webrtc.org/web-apis/chrome/

# LINUX:
TEST_BROWSER="/usr/bin/chromium-browser"
TEST_BROWSER="/usr/bin/google-chrome"
#
TEST_PROFILE="/tmp/chrome-profile"
#
{
"$TEST_BROWSER" \
--user-data-dir="$TEST_PROFILE" \
--use-fake-ui-for-media-stream \
--use-fake-device-for-media-stream \
--enable-logging=stderr \
--log-level=0 \
--vmodule='*/webrtc/*=2,*/libjingle/*=2,*=-2' \
--v=0 \
"https://localhost:8443/" \
>chrome_debug.log 2>&1 &
# Other flags:
# --use-file-for-fake-audio-capture="${HOME}/test.wav" \

tail -f chrome_debug.log
}

# MAC:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--enable-logging=stderr \
--vmodule=*/webrtc/*=2,*/libjingle/*=2,*=-2


Packet Loss
-----------

.. code-block:: shell
/usr/bin/google-chrome --user-data-dir="$(mktemp --directory)" \
--enable-logging=stderr \
--log-level=0 \
--v=0 \
--vmodule='*/webrtc/*=2,*/libjingle/*=2,*=-2' \
"https://localhost:8443/"
Other options:

.. code-block:: text
A command line for 3% sent packet loss and 5% received packet loss is:
--force-fieldtrials=WebRTCFakeNetworkSendLossPercent/3/WebRTCFakeNetworkReceiveLossPercent/5/

--use-fake-device-for-media-stream \
--use-file-for-fake-audio-capture="${HOME}/test.wav" \


H.264 codec
Expand Down
2 changes: 1 addition & 1 deletion source/knowledge/selfsigned_certs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ This technique is very handy, because practically all modern platforms include a
* Mac and iOS include mDNS natively.
* Linux systems support mDNS if the appropriate Avahi packages are installed.

If you want to push for the addition of mDNS in Android, go ahead and add a STAR to this issue: `#140786115 Add .local mDNS resolving to Android <https://issuetracker.google.com/140786115>`__ (requires login; any Google account will do). **Please refrain from commenting "+1"**, which is generally regarded as rude because it sends a useless email to all other users that are following the issue; adding a star is already the best way to signal interest in getting the issue resolved.
You can vote for adding mDNS to Android by adding a star ⭐ (top, next to the title) on this issue: `#140786115 Add .local mDNS resolving to Android <https://issuetracker.google.com/140786115>`__ (requires login; any Google account will do). **Please refrain from commenting "+1"**, which sends a useless email to all other users who follow the issue.



Expand Down
4 changes: 2 additions & 2 deletions source/langdoc/client-javadoc/constant-values.html
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Kurento Client 6.16.0</b></div>
<div class="aboutLanguage"><b>Kurento Client 6.16.1</b></div>
</div>
<div class="subNav">
<ul class="navList">
Expand Down Expand Up @@ -90,7 +90,7 @@ <h2 title="Contents">Contents</h2>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><b>Kurento Client 6.16.0</b></div>
<div class="aboutLanguage"><b>Kurento Client 6.16.1</b></div>
</div>
<div class="subNav">
<ul class="navList">
Expand Down

0 comments on commit 0f3a55f

Please sign in to comment.