diff options
author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2016-11-07 21:37:47 +0100 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2016-11-07 21:37:47 +0100 |
commit | 95b197a53c8314a68fd8cf73e495018844e7d708 (patch) | |
tree | d7a1f48c0c7f04bea34c9e19dc219195469df563 /src/mpeg.c | |
parent | 33e51f5996c02c6a6aee27b57d91d90e3f1db5a2 (diff) | |
parent | 21d8cacffc1201514b0e1143f8de60e754262291 (diff) | |
download | dabmux-95b197a53c8314a68fd8cf73e495018844e7d708.tar.gz dabmux-95b197a53c8314a68fd8cf73e495018844e7d708.tar.bz2 dabmux-95b197a53c8314a68fd8cf73e495018844e7d708.zip |
Merge rework of inputs into 'next'
This breaks the non-blocking fifo inputs, as it seems nobody is
using them.
It restores some UDP functionality, not necessarily in the same way as
before.
Diffstat (limited to 'src/mpeg.c')
-rw-r--r-- | src/mpeg.c | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -219,3 +219,29 @@ int readMpegFrame(int file, void* data, int size) } return framelength; } + +int checkDabMpegFrame(void* data) { + mpegHeader* header = (mpegHeader*)data; + unsigned long* headerData = (unsigned long*)data; + if ((*headerData & 0x0f0ffcff) == 0x0004fcff) return 0; + if ((*headerData & 0x0f0ffcff) == 0x0004f4ff) return 0; + if (getMpegFrequency(header) != 48000) { + if (getMpegFrequency(header) != 24000) { + return MPEG_FREQUENCY; + } + } + if (header->padding != 0) { + return MPEG_PADDING; + } + if (header->emphasis != 0) { + return MPEG_EMPHASIS; + } + if (header->copyright != 0) { + return MPEG_COPYRIGHT; + } + if (header->original != 0) { + return MPEG_ORIGINAL; + } + return -1; +} + |