Skip to content

Commit 789bf66

Browse files
committed
support for DVB-MABR flute muxing
1 parent a01b703 commit 789bf66

File tree

24 files changed

+1728
-601
lines changed

24 files changed

+1728
-601
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,5 +89,11 @@ tests/external_media/
8989
tests/results/
9090
tests/hash_refs/
9191

92+
*doxygen_warnings.txt
93+
*/nodejs/node_modules/
94+
*/nodejs/package-lock.json
95+
applications/deprecated/
96+
97+
9298
# nix output
9399
result

Changelog

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
- Fixes in UI
88

99
## Filters
10-
- experimental DVB-I MABR flute demux
10+
- DVB-I MABR flute aux and demux
1111

1212
#04/2024: GPAC 2.4
1313

build/android/jni/libgpac/Android.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -423,6 +423,7 @@ LOCAL_SRC_FILES := \
423423
../../../../src/utils/path2d_stroker.c \
424424
../../../../src/utils/sha1.c \
425425
../../../../src/utils/sha256.c \
426+
../../../../src/utils/md5.c \
426427
../../../../src/utils/token.c \
427428
../../../../src/utils/uni_bidi.c \
428429
../../../../src/utils/unicode.c \

build/msvc14/libgpac.vcxproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -585,6 +585,7 @@
585585
<ClCompile Include="..\..\src\utils\Remotery.c" />
586586
<ClCompile Include="..\..\src\utils\sha1.c" />
587587
<ClCompile Include="..\..\src\utils\sha256.c" />
588+
<ClCompile Include="..\..\src\utils\md5.c" />
588589
<ClCompile Include="..\..\src\utils\token.c" />
589590
<ClCompile Include="..\..\src\utils\unicode.c" />
590591
<ClCompile Include="..\..\src\utils\uni_bidi.c" />

build/msvc14/libgpac.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1055,6 +1055,9 @@
10551055
<ClCompile Include="..\..\src\utils\sha256.c">
10561056
<Filter>utils</Filter>
10571057
</ClCompile>
1058+
<ClCompile Include="..\..\src\utils\md5.c">
1059+
<Filter>utils</Filter>
1060+
</ClCompile>
10581061
<ClCompile Include="..\..\src\utils\token.c">
10591062
<Filter>utils</Filter>
10601063
</ClCompile>

build/xcode/gpac.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@
178178
92256CCD20E0DA26004EB243 /* encrypt_cenc_isma.c in Sources */ = {isa = PBXBuildFile; fileRef = 92256CCC20E0DA26004EB243 /* encrypt_cenc_isma.c */; };
179179
9225DD752326790C00F94C42 /* mpd.h in Headers */ = {isa = PBXBuildFile; fileRef = 9225DD742326790C00F94C42 /* mpd.h */; };
180180
92261A87239A6E4600C14199 /* out_http.c in Sources */ = {isa = PBXBuildFile; fileRef = 92261A86239A6E4600C14199 /* out_http.c */; };
181+
92277E1B2BE8F32B005E0955 /* md5.c in Sources */ = {isa = PBXBuildFile; fileRef = 92277E1A2BE8F32B005E0955 /* md5.c */; };
181182
922B0FAA2A5E81EB003690BB /* dec_mpeghdec.c in Sources */ = {isa = PBXBuildFile; fileRef = 922B0FA92A5E81EB003690BB /* dec_mpeghdec.c */; };
182183
922B0FC72A602176003690BB /* caca_out.c in Sources */ = {isa = PBXBuildFile; fileRef = 922B0FC62A602176003690BB /* caca_out.c */; };
183184
922B0FC82A6028C5003690BB /* libgpac.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9201F93718D5A38A003D1ACA /* libgpac.dylib */; };
@@ -813,6 +814,7 @@
813814
92256CCC20E0DA26004EB243 /* encrypt_cenc_isma.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = encrypt_cenc_isma.c; path = filters/encrypt_cenc_isma.c; sourceTree = "<group>"; };
814815
9225DD742326790C00F94C42 /* mpd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mpd.h; path = ../include/gpac/mpd.h; sourceTree = "<group>"; };
815816
92261A86239A6E4600C14199 /* out_http.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = out_http.c; path = filters/out_http.c; sourceTree = "<group>"; };
817+
92277E1A2BE8F32B005E0955 /* md5.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = md5.c; sourceTree = "<group>"; };
816818
922B0FA92A5E81EB003690BB /* dec_mpeghdec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dec_mpeghdec.c; path = filters/dec_mpeghdec.c; sourceTree = "<group>"; };
817819
922B0FC12A602153003690BB /* gm_caca_out.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = gm_caca_out.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
818820
922B0FC62A602176003690BB /* caca_out.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = caca_out.c; path = ../../modules/caca_out/caca_out.c; sourceTree = "<group>"; };
@@ -1404,6 +1406,7 @@
14041406
92E164BA20F8F2860024A9CA /* Remotery.c */,
14051407
920100A418D5A444003D1ACA /* sha1.c */,
14061408
925A760E292F965D00664F38 /* sha256.c */,
1409+
92277E1A2BE8F32B005E0955 /* md5.c */,
14071410
920100A718D5A444003D1ACA /* token.c */,
14081411
920100A818D5A444003D1ACA /* uni_bidi.c */,
14091412
920100A918D5A444003D1ACA /* unicode.c */,
@@ -2530,6 +2533,7 @@
25302533
920100B618D5A444003D1ACA /* field_decode.c in Sources */,
25312534
92BB85721F7BFB63009BC9C8 /* ff_common.c in Sources */,
25322535
920100B718D5A444003D1ACA /* field_encode.c in Sources */,
2536+
92277E1B2BE8F32B005E0955 /* md5.c in Sources */,
25332537
92455F8C2A52B4B90080321C /* dec_cc.c in Sources */,
25342538
9234CF471FD8344000CCDFA1 /* in_rtp.c in Sources */,
25352539
92B9A5911F8660D700A24FE4 /* mpeg4_geometry_2d.c in Sources */,

build/xcode/gpac4ios.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,7 @@
328328
921FEBA01CF8670A00B437C2 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 921FEB9E1CF8665900B437C2 /* CoreLocation.framework */; };
329329
921FEBA11CF8671300B437C2 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 921FEB9C1CF8664800B437C2 /* CoreMotion.framework */; };
330330
92261A89239E326900C14199 /* out_http.c in Sources */ = {isa = PBXBuildFile; fileRef = 92261A88239E326900C14199 /* out_http.c */; };
331+
92277E1D2BE910E1005E0955 /* md5.c in Sources */ = {isa = PBXBuildFile; fileRef = 92277E1C2BE910E1005E0955 /* md5.c */; };
331332
9227B8582799F8E700BF3D1B /* bs_agg.c in Sources */ = {isa = PBXBuildFile; fileRef = 9227B8562799F8E600BF3D1B /* bs_agg.c */; };
332333
9227B8592799F8E700BF3D1B /* bs_split.c in Sources */ = {isa = PBXBuildFile; fileRef = 9227B8572799F8E600BF3D1B /* bs_split.c */; };
333334
922B0FAC2A5EBCF2003690BB /* dec_mpeghdec.c in Sources */ = {isa = PBXBuildFile; fileRef = 922B0FAB2A5EBCF2003690BB /* dec_mpeghdec.c */; };
@@ -938,6 +939,7 @@
938939
921FEB9C1CF8664800B437C2 /* CoreMotion.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMotion.framework; path = System/Library/Frameworks/CoreMotion.framework; sourceTree = SDKROOT; };
939940
921FEB9E1CF8665900B437C2 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; };
940941
92261A88239E326900C14199 /* out_http.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = out_http.c; path = ../../src/filters/out_http.c; sourceTree = "<group>"; };
942+
92277E1C2BE910E1005E0955 /* md5.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = md5.c; sourceTree = "<group>"; };
941943
9227B8562799F8E600BF3D1B /* bs_agg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = bs_agg.c; path = ../../src/filters/bs_agg.c; sourceTree = "<group>"; };
942944
9227B8572799F8E600BF3D1B /* bs_split.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = bs_split.c; path = ../../src/filters/bs_split.c; sourceTree = "<group>"; };
943945
922B0FAB2A5EBCF2003690BB /* dec_mpeghdec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dec_mpeghdec.c; path = ../../src/filters/dec_mpeghdec.c; sourceTree = "<group>"; };
@@ -1668,6 +1670,7 @@
16681670
71CCF2291277045100339E12 /* utils */ = {
16691671
isa = PBXGroup;
16701672
children = (
1673+
92277E1C2BE910E1005E0955 /* md5.c */,
16711674
7141FF2F1292CB9200FCB27D /* alloc.c */,
16721675
71CCF22A1277045100339E12 /* base_encoding.c */,
16731676
71CCF22B1277045100339E12 /* bitstream.c */,
@@ -2647,6 +2650,7 @@
26472650
9296BF2422CFBB3900DC9742 /* reframe_flac.c in Sources */,
26482651
71CCF3141277045100339E12 /* x3d_nodes.c in Sources */,
26492652
71CCF3161277045100339E12 /* xml_ns.c in Sources */,
2653+
92277E1D2BE910E1005E0955 /* md5.c in Sources */,
26502654
92EB6E1A20E4E19700A97A49 /* in_http.c in Sources */,
26512655
92EB6E1720E4E19700A97A49 /* enc_jpg.c in Sources */,
26522656
92B2A4AF229D6646002A65A7 /* hevcsplit.c in Sources */,

include/gpac/route.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* Copyright (c) Telecom ParisTech 2017-2024
66
* All rights reserved
77
*
8-
* This file is part of GPAC / ROUTE (ATSC3, DVB-I) and DVBI-Flute demuxer
8+
* This file is part of GPAC / ROUTE (ATSC3, DVB-MABR) and DVB-MABR demuxer
99
*
1010
* GPAC is free software; you can redistribute it and/or modify
1111
* it under the terms of the GNU Lesser General Public License as published by
@@ -185,7 +185,7 @@ GF_ROUTEDmx *gf_route_dmx_new(const char *ip, u32 port, const char *ifce, u32 so
185185
*/
186186
GF_ROUTEDmx *gf_route_dmx_new_ex(const char *ip, u32 port, const char *ifce, u32 sock_buffer_size, const char *netcap_id, void (*on_event)(void *udta, GF_ROUTEEventType evt, u32 evt_param, GF_ROUTEEventFileInfo *finfo), void *udta);
187187

188-
/*! Creates a new DVBI+Flute MABR demultiplexer
188+
/*! Creates a new DVB MABR Flute demultiplexer
189189
\param ip IP address of LCT session carrying the initial FDT
190190
\param port port of LCT session carrying the initial FDT
191191
\param ifce network interface to monitor, NULL for INADDR_ANY
@@ -195,7 +195,7 @@ GF_ROUTEDmx *gf_route_dmx_new_ex(const char *ip, u32 port, const char *ifce, u32
195195
\param udta the user data passed back by the callback
196196
\return the demultiplexer created
197197
*/
198-
GF_ROUTEDmx *gf_dvbi_flute_dmx_new(const char *ip, u32 port, const char *ifce, u32 sock_buffer_size, const char *netcap_id, void (*on_event)(void *udta, GF_ROUTEEventType evt, u32 evt_param, GF_ROUTEEventFileInfo *finfo), void *udta);
198+
GF_ROUTEDmx *gf_dvb_mabr_dmx_new(const char *ip, u32 port, const char *ifce, u32 sock_buffer_size, const char *netcap_id, void (*on_event)(void *udta, GF_ROUTEEventType evt, u32 evt_param, GF_ROUTEEventFileInfo *finfo), void *udta);
199199

200200
/*! Deletes an ROUTE demultiplexer
201201
\param routedmx the ROUTE demultiplexer to delete

include/gpac/setup.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -858,10 +858,12 @@ size_t gf_strlcpy(char *dst, const char *src, size_t dsize);
858858
#endif
859859

860860

861+
//! @cond Doxygen_Suppress
861862
/*needed for unittests (disabled)*/
862863
#ifndef GF_STATIC
863864
#define GF_STATIC static
864865
#endif
866+
//! @endcond
865867

866868
#ifdef __cplusplus
867869
}

include/gpac/tools.h

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2184,7 +2184,7 @@ GF_Err gf_sha1_file_ptr(FILE *file, u8 digest[GF_SHA1_DIGEST_SIZE] );
21842184

21852185
/*! gets SHA-1 of input buffer
21862186
\param buf input buffer to hash
2187-
\param buflen sizeo of input buffer in bytes
2187+
\param buflen size of input buffer in bytes
21882188
\param digest buffer to store message digest
21892189
*/
21902190
void gf_sha1_csum(u8 *buf, u32 buflen, u8 digest[GF_SHA1_DIGEST_SIZE]);
@@ -2194,12 +2194,22 @@ void gf_sha1_csum(u8 *buf, u32 buflen, u8 digest[GF_SHA1_DIGEST_SIZE]);
21942194
#define GF_SHA256_DIGEST_SIZE 32
21952195
/*! gets SHA-256 of input buffer
21962196
\param buf input buffer to hash
2197-
\param buflen sizeo of input buffer in bytes
2197+
\param buflen size of input buffer in bytes
21982198
\param digest buffer to store message digest
21992199
*/
22002200
void gf_sha256_csum(const void *buf, u64 buflen, u8 digest[GF_SHA256_DIGEST_SIZE]);
22012201

22022202

2203+
/*! checksum size for MD5*/
2204+
#define GF_MD5_DIGEST_SIZE 16
2205+
2206+
/*! gets MD5 of input buffer
2207+
\param buf input buffer to hash
2208+
\param buflen size of input buffer in bytes
2209+
\param digest buffer to store message digest
2210+
*/
2211+
void gf_md5_csum(const void *buf, u64 buflen, u8 digest[GF_MD5_DIGEST_SIZE]);
2212+
22032213
/*!
22042214
\addtogroup libsys_grp
22052215
@{

0 commit comments

Comments
 (0)