Arduino DLNA Server
Loading...
Searching...
No Matches
dlna_config.h
Go to the documentation of this file.
1#pragma once
2
3// Define delay in ms for main DLNA loop
4#ifndef DLNA_LOOP_DELAY_MS
5#define DLNA_LOOP_DELAY_MS 8
6#endif
7
8// Define the default http request timeout
9#ifndef DLNA_HTTP_REQUEST_TIMEOUT_MS
10#define DLNA_HTTP_REQUEST_TIMEOUT_MS 6000
11#endif
12
13// Define XML parse buffer size
14#ifndef XML_PARSER_BUFFER_SIZE
15#define XML_PARSER_BUFFER_SIZE 256
16#endif
17
18// Define initial size for StrPrint
19#ifndef STR_PRINT_INITIAL_SIZE
20#define STR_PRINT_INITIAL_SIZE 200
21#endif
22
23// Define increment size for StrPrint
24#ifndef STR_PRINT_INC_SIZE
25#define STR_PRINT_INC_SIZE 200
26#endif
27
28// SSDP multicast/UDP port (default 1900)
29#ifndef DLNA_SSDP_PORT
30#define DLNA_SSDP_PORT 1900
31#endif
32
33// app-wide max URL length
34#ifndef DLNA_MAX_URL_LEN
35#define DLNA_MAX_URL_LEN 256
36#endif
37
38// Max printf buffer size
39#ifndef MAX_PRINTF_SIZE
40#define MAX_PRINTF_SIZE 512
41#endif
42
43
44// All possible protocols
45#ifndef DLNA_PROTOCOL_ALL
46#define DLNA_PROTOCOL_ALL \
47 "http-get:*:image/jpeg:DLNA.ORG_PN=JPEG_TN,http-get:*:image/" \
48 "jpeg:DLNA.ORG_PN=JPEG_SM,http-get:*:image/" \
49 "jpeg:DLNA.ORG_PN=JPEG_MED,http-get:*:image/" \
50 "jpeg:DLNA.ORG_PN=JPEG_LRG,http-get:*:video/" \
51 "mpeg:DLNA.ORG_PN=AVC_TS_HD_50_AC3_ISO,http-get:*:video/" \
52 "mpeg:DLNA.ORG_PN=AVC_TS_HD_60_AC3_ISO,http-get:*:video/" \
53 "mpeg:DLNA.ORG_PN=AVC_TS_HP_HD_AC3_ISO,http-get:*:video/" \
54 "mpeg:DLNA.ORG_PN=AVC_TS_MP_HD_AAC_MULT5_ISO,http-get:*:video/" \
55 "mpeg:DLNA.ORG_PN=AVC_TS_MP_HD_AC3_ISO,http-get:*:video/" \
56 "mpeg:DLNA.ORG_PN=AVC_TS_MP_HD_MPEG1_L3_ISO,http-get:*:video/" \
57 "mpeg:DLNA.ORG_PN=AVC_TS_MP_SD_AAC_MULT5_ISO,http-get:*:video/" \
58 "mpeg:DLNA.ORG_PN=AVC_TS_MP_SD_AC3_ISO,http-get:*:video/" \
59 "mpeg:DLNA.ORG_PN=AVC_TS_MP_SD_MPEG1_L3_ISO,http-get:*:video/" \
60 "mpeg:DLNA.ORG_PN=MPEG_PS_NTSC,http-get:*:video/" \
61 "mpeg:DLNA.ORG_PN=MPEG_PS_PAL,http-get:*:video/" \
62 "mpeg:DLNA.ORG_PN=MPEG_TS_HD_NA_ISO,http-get:*:video/" \
63 "mpeg:DLNA.ORG_PN=MPEG_TS_SD_NA_ISO,http-get:*:video/" \
64 "mpeg:DLNA.ORG_PN=MPEG_TS_SD_EU_ISO,http-get:*:video/" \
65 "mpeg:DLNA.ORG_PN=MPEG1,http-get:*:video/" \
66 "mp4:DLNA.ORG_PN=AVC_MP4_MP_SD_AAC_MULT5,http-get:*:video/" \
67 "mp4:DLNA.ORG_PN=AVC_MP4_MP_SD_AC3,http-get:*:video/" \
68 "mp4:DLNA.ORG_PN=AVC_MP4_BL_CIF15_AAC_520,http-get:*:video/" \
69 "mp4:DLNA.ORG_PN=AVC_MP4_BL_CIF30_AAC_940,http-get:*:video/" \
70 "mp4:DLNA.ORG_PN=AVC_MP4_BL_L31_HD_AAC,http-get:*:video/" \
71 "mp4:DLNA.ORG_PN=AVC_MP4_BL_L32_HD_AAC,http-get:*:video/" \
72 "mp4:DLNA.ORG_PN=AVC_MP4_BL_L3L_SD_AAC,http-get:*:video/" \
73 "mp4:DLNA.ORG_PN=AVC_MP4_HP_HD_AAC,http-get:*:video/" \
74 "mp4:DLNA.ORG_PN=AVC_MP4_MP_HD_1080i_AAC,http-get:*:video/" \
75 "mp4:DLNA.ORG_PN=AVC_MP4_MP_HD_720p_AAC,http-get:*:video/" \
76 "mp4:DLNA.ORG_PN=MPEG4_P2_MP4_ASP_AAC,http-get:*:video/" \
77 "mp4:DLNA.ORG_PN=MPEG4_P2_MP4_SP_VGA_AAC,http-get:*:video/" \
78 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_HD_50_AC3,http-get:*:video/" \
79 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_HD_50_AC3_T,http-get:*:video/" \
80 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_HD_60_AC3,http-get:*:video/" \
81 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_HD_60_AC3_T,http-get:*:video/" \
82 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_HP_HD_AC3_T,http-get:*:video/" \
83 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_HD_AAC_MULT5,http-get:*:video/" \
84 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_HD_AAC_MULT5_T,http-get:*:video/" \
85 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_HD_AC3,http-get:*:video/" \
86 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_HD_AC3_T,http-get:*:video/" \
87 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_HD_MPEG1_L3,http-get:*:video/" \
88 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_HD_MPEG1_L3_T,http-get:*:video/" \
89 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_SD_AAC_MULT5,http-get:*:video/" \
90 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_SD_AAC_MULT5_T,http-get:*:video/" \
91 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_SD_AC3,http-get:*:video/" \
92 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_SD_AC3_T,http-get:*:video/" \
93 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_SD_MPEG1_L3,http-get:*:video/" \
94 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=AVC_TS_MP_SD_MPEG1_L3_T,http-get:*:video/" \
95 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_HD_NA,http-get:*:video/" \
96 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_HD_NA_T,http-get:*:video/" \
97 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU,http-get:*:video/" \
98 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU_T,http-get:*:video/" \
99 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA,http-get:*:video/" \
100 "vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_NA_T,http-get:*:video/" \
101 "x-ms-wmv:DLNA.ORG_PN=WMVSPLL_BASE,http-get:*:video/" \
102 "x-ms-wmv:DLNA.ORG_PN=WMVSPML_BASE,http-get:*:video/" \
103 "x-ms-wmv:DLNA.ORG_PN=WMVSPML_MP3,http-get:*:video/" \
104 "x-ms-wmv:DLNA.ORG_PN=WMVMED_BASE,http-get:*:video/" \
105 "x-ms-wmv:DLNA.ORG_PN=WMVMED_FULL,http-get:*:video/" \
106 "x-ms-wmv:DLNA.ORG_PN=WMVMED_PRO,http-get:*:video/" \
107 "x-ms-wmv:DLNA.ORG_PN=WMVHIGH_FULL,http-get:*:video/" \
108 "x-ms-wmv:DLNA.ORG_PN=WMVHIGH_PRO,http-get:*:video/" \
109 "3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AAC,http-get:*:video/" \
110 "3gpp:DLNA.ORG_PN=MPEG4_P2_3GPP_SP_L0B_AMR,http-get:*:audio/" \
111 "mpeg:DLNA.ORG_PN=MP3,http-get:*:audio/" \
112 "x-ms-wma:DLNA.ORG_PN=WMABASE,http-get:*:audio/" \
113 "x-ms-wma:DLNA.ORG_PN=WMAFULL,http-get:*:audio/" \
114 "x-ms-wma:DLNA.ORG_PN=WMAPRO,http-get:*:audio/" \
115 "x-ms-wma:DLNA.ORG_PN=WMALSL,http-get:*:audio/" \
116 "x-ms-wma:DLNA.ORG_PN=WMALSL_MULT5,http-get:*:audio/" \
117 "mp4:DLNA.ORG_PN=AAC_ISO_320,http-get:*:audio/" \
118 "3gpp:DLNA.ORG_PN=AAC_ISO_320,http-get:*:audio/" \
119 "mp4:DLNA.ORG_PN=AAC_ISO,http-get:*:audio/" \
120 "mp4:DLNA.ORG_PN=AAC_MULT5_ISO,http-get:*:audio/" \
121 "L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM,http-get:*:image/" \
122 "jpeg:*,http-get:*:video/avi:*,http-get:*:video/divx:*,http-get:*:video/" \
123 "x-matroska:*,http-get:*:video/mpeg:*,http-get:*:video/" \
124 "mp4:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/" \
125 "x-msvideo:*,http-get:*:video/x-flv:*,http-get:*:video/" \
126 "x-tivo-mpeg:*,http-get:*:video/quicktime:*,http-get:*:audio/" \
127 "mp4:*,http-get:*:audio/x-wav:*,http-get:*:audio/" \
128 "x-flac:*,http-get:*:audio/x-dsd:*,http-get:*:application/" \
129 "ogg:*http-get:*:application/vnd.rn-realmedia:*http-get:*:application/" \
130 "vnd.rn-realmedia-vbr:*http-get:*:video/webm:*"
131#endif
132
133// All possible audio protocols
134#ifndef DLNA_PROTOCOL_AUDIO
135#define DLNA_PROTOCOL_AUDIO \
136 "http-get:*:audio/mpeg:DLNA.ORG_PN=MP3," \
137 "http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMABASE," \
138 "http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMAFULL," \
139 "http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMAPRO," \
140 "http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMALSL," \
141 "http-get:*:audio/x-ms-wma:DLNA.ORG_PN=WMALSL_MULT5," \
142 "http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO_320," \
143 "http-get:*:audio/3gpp:DLNA.ORG_PN=AAC_ISO_320," \
144 "http-get:*:audio/mp4:DLNA.ORG_PN=AAC_ISO," \
145 "http-get:*:audio/mp4:DLNA.ORG_PN=AAC_MULT5_ISO," \
146 "http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM," \
147 "http-get:*:audio/x-wav:*," \
148 "http-get:*:audio/x-flac:*," \
149 "http-get:*:audio/x-dsd:*"
150#endif
151
153#ifndef MAX_NOTIFY_RETIES
154#define MAX_NOTIFY_RETIES 3
155#endif
156
158#ifndef DLNA_PROTOCOL
159#define DLNA_PROTOCOL DLNA_PROTOCOL_AUDIO
160#endif
161
162
163// Define whether to use custom allocator (true) or standard new/delete (false)
164#ifndef DLNA_USE_ALLOCATOR
165#define DLNA_USE_ALLOCATOR true
166#endif
167
168// Force use of Tracked Allocator
169//#define DLNA_DEFAULT_ALLOCATOR TrackedAllocator
170//#define ALLOCATOR TrackedAllocator
171
172// Define the default allocator class to use (e.g Allocator, TrackedAllocator, AllocatorExt, AllocatorPSRAM)
173#ifndef DLNA_DEFAULT_ALLOCATOR
174#define DLNA_DEFAULT_ALLOCATOR AllocatorExt
175#endif
176
177
178// Define the default allocator base class to use (e.g Allocator, TrackedAllocator)
179#ifndef ALLOCATOR
180#define ALLOCATOR Allocator
181#endif