Skip to content

Commit 77ebda5

Browse files
committed
Update caveats page
1 parent c055671 commit 77ebda5

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

docs/overview/caveats.rst

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,25 @@ Caveats
66
Authority of Documentation
77
--------------------------
88

9-
FFmpeg_ is extremely complex, and the PyAV developers have not been successful in making it 100% clear to themselves in all aspects. Our understanding of how it works and how to work with it is via reading the docs, digging through the source, perfoming experiments, and hearing from users where PyAV isn't doing the right thing.
9+
FFmpeg_ is extremely complex, and the PyAV developers have not been successful in making it 100% clear to themselves in all aspects. Our understanding of how it works and how to work with it is via reading the docs, digging through the source, performing experiments, and hearing from users where PyAV isn't doing the right thing.
1010

11-
Only where this documentation is about the mechanics of PyAV can it be considered authoritative. Anywhere that we discuss something that is actually about the underlying FFmpeg libraries comes with the caveat that we can not always be 100% on it.
12-
13-
It is, unfortunately, often on the user the understand and deal with the edge cases. We encourage you to bring them to our attention via GitHub_ so that we can try to make PyAV deal with it, but we can't always make it work.
11+
Only where this documentation is about the mechanics of PyAV can it be considered authoritative. Anywhere that we discuss something that is about the underlying FFmpeg libraries comes with the caveat that we can not be 100% sure on it. It is, unfortunately, often on the user to understand and deal with edge cases. We encourage you to bring them to our attention via GitHub_ so that we can try to make PyAV deal with it.
1412

1513

1614
Unsupported Features
1715
--------------------
1816

19-
Our goal is to provide all of the features that make sense for the contexts that PyAV would be used in. If there is something missing, please reach out on Gitter_ or open a feature request on GitHub_ (or even better a pull request). Your request will be more likely to be addressed if you can point to the relevant `FFmpeg API documentation <https://ffmpeg.org/doxygen/trunk/index.html>`__.
17+
Our goal is to provide all of the features that make sense for the contexts that PyAV would be used in. If there is something missing, please reach out on GitHub_ or open a feature request (or even better a pull request). Your request will be more likely to be addressed if you can point to the relevant `FFmpeg API documentation <https://ffmpeg.org/doxygen/trunk/index.html>`__.
2018

2119

22-
Sub-Interpeters
23-
---------------
20+
Sub-Interpreters
21+
----------------
2422

2523
Since we rely upon C callbacks in a few locations, PyAV is not fully compatible with sub-interpreters. Users have experienced lockups in WSGI web applications, for example.
2624

2725
This is due to the ``PyGILState_Ensure`` calls made by Cython in a C callback from FFmpeg. If this is called in a thread that was not started by Python, it is very likely to break. There is no current instrumentation to detect such events.
2826

29-
The two main features that are able to cause lockups are:
27+
The two main features that can cause lockups are:
3028

3129
1. Python IO (passing a file-like object to ``av.open``). While this is in theory possible, so far it seems like the callbacks are made in the calling thread, and so are safe.
3230

@@ -42,10 +40,9 @@ PyAV currently has a number of reference cycles that make it more difficult for
4240

4341
Until we resolve this issue, you should explicitly call :meth:`.Container.close` or use the container as a context manager::
4442

45-
with av.open(path) as fh:
43+
with av.open(path) as container:
4644
# Do stuff with it.
4745

4846

4947
.. _FFmpeg: https://ffmpeg.org/
50-
.. _Gitter: https://app.gitter.im/#/room/#PyAV-Org_User-Help:gitter.im
51-
.. _GitHub: https://github.com/PyAV-Org/pyav
48+
.. _GitHub: https://github.com/PyAV-Org/PyAV

0 commit comments

Comments
 (0)