On Mon, 23 Jul 2012, Diego Biurrun wrote:
Some of the rtmp* dependencies are in shambles.
libavformat/rtmpproto.c unconditionally uses all the symbols from
libavformat/rtmpcrypt.c, but does not depend on it.
I suspect all of the rtmp hackers have the dependencies for ffrtmpcrypt
protocol installed and thus never noticed, but at least one FATE box
does:
http://fate.libav.org/x86_64-linux-debug-no-optimizations/20120723150416
Please try combinations of '--disable-everything --enable-protocol=rtmp*'
to localize which protocols have incomplete dependencies.
Good catch. I ran into this but thought we wouldn't care (since iirc
there's similar stuff if you disable svq3 but enable h264, but perhaps
that's been fixed now), but since the rtmpe stuff depends on external
libraries and this configuration is quite common, this probably is more
important.
The fix is pretty simple - change some/all occurraces of "encrypted" into
"rt->encrypted && CONFIG_FFRTMPCRYPT_PROTOCOL" (one case which is a
parameter to a function can do with just rt->encrypted). The issue is that
gcc isn't smart enough to propagate a known-0 variable to allow dead code
elimination unless optimization is enabled.
// Martin
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel