Skip to content

Commit 97bb270

Browse files
committed
Discuss struct member reflection in HACKING.md
1 parent c37c88e commit 97bb270

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

HACKING.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@ For example:
1818
FFmpeg vs Libav
1919
---------------
2020

21-
Right now we ctypes-based discovery to determine what functions are availible, and some very small shim headers to smooth out the differences. Do try to test all changes on platforms which default to both libraries.
21+
We test compile and link tiny executables to determine what functions and
22+
structure members are availible, and some very small shim headers to smooth
23+
out the differences. Do try to test all changes on platforms which default
24+
to both libraries.
2225

2326

2427
Library Detection
@@ -33,7 +36,16 @@ Function Detection
3336

3437
Macros will be defined for a few functions that are only in one of FFmpeg or
3538
LibAV. For example, there may be a `PYAV_HAVE_AVFORMAT_CLOSE_INPUT` macro.
36-
See where `check_for_func` is used in `setup.py` to add more.
39+
See the `reflect` command in `setup.py` to add more.
40+
41+
42+
Struct Member Detection
43+
-----------------------
44+
45+
Macros will be defined for structure members that are not garunteed to exist
46+
(usually because LibAV deprecated and removed them, while FFmpeg did not).
47+
For example, there may be a `PYAV_HAVE_AVFRAME__MB_TYPE` macro if the
48+
`AVFrame.mb_type` member exists.
3749

3850

3951
Class Relationships

0 commit comments

Comments
 (0)