From 804fe1979f9ed7bef7badaf0aa08e35e09874772 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Sun, 30 Oct 2016 16:28:27 +0100 Subject: Add rudimentary file input No nonblock support yet --- src/mpeg.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/mpeg.c') diff --git a/src/mpeg.c b/src/mpeg.c index f7aed34..fb6591a 100644 --- a/src/mpeg.c +++ b/src/mpeg.c @@ -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->copyright != 0) { + return MPEG_COPYRIGHT; + } + if (header->original != 0) { + return MPEG_ORIGINAL; + } + if (header->emphasis != 0) { + return MPEG_EMPHASIS; + } + return -1; +} + -- cgit v1.2.3 From fde78e58eb3c48135b6d96680fca7eb3d617f940 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Fri, 4 Nov 2016 14:29:32 +0100 Subject: Change check priorities of checkDabMpegFrame The function should anyway return something else than an enumeration... --- src/mpeg.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/mpeg.c') diff --git a/src/mpeg.c b/src/mpeg.c index fb6591a..a48f5bb 100644 --- a/src/mpeg.c +++ b/src/mpeg.c @@ -233,15 +233,15 @@ int checkDabMpegFrame(void* data) { 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; } - if (header->emphasis != 0) { - return MPEG_EMPHASIS; - } return -1; } -- cgit v1.2.3