1234567891011121314151617181920212223242526272829 |
- // from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881536
- #define _GNU_SOURCE
- #include <dlfcn.h>
- #include <stdint.h>
- // Mini version of AVPacket
- typedef struct AVPacket {
- void *buf;
- int64_t pts;
- int64_t dts;
- uint8_t *data;
- int size;
- } AVPacket;
- int avcodec_decode_audio4(void* a, void* b, int* got_frame_ptr, const AVPacket* pkt)
- {
- // Ignore null packets
- if (pkt->size == 0)
- {
- *got_frame_ptr = 0;
- return 0;
- }
- // Forward to real function
- int (*orig_decode)(void*, void*, int*, const AVPacket*) =
- dlsym(RTLD_NEXT, "avcodec_decode_audio4");
- return orig_decode(a, b, got_frame_ptr, pkt);
- }
|