@@ -93,7 +93,7 @@ class M4AAudioDemuxer {
93
93
Vector<size_t >& getSampleSizes () { return sampleSizes; }
94
94
95
95
Vector<size_t >& getChunkOffsets () { return chunkOffsets; }
96
-
96
+
97
97
// used fixed sizes instead of the sampleSizes table
98
98
void setFixedSampleCount (uint32_t sampleSize, uint32_t sampleCount) {
99
99
fixed_sample_size = sampleSize;
@@ -195,17 +195,20 @@ class M4AAudioDemuxer {
195
195
using FrameCallback = std::function<void (const Frame&, void * ref)>;
196
196
197
197
M4AAudioDemuxer () {
198
+ // global box data callback to get sizes
198
199
parser.setReference (this );
199
- parser.setCallback (boxCallback);
200
+ parser.setCallback (boxDataSetupCallback);
201
+
202
+ // incremental data callback
203
+ parser.setDataCallback (incrementalBoxDataCallback);
204
+
200
205
// parsing for content of stsd (Sample Description Box)
201
206
parser.setCallback (" esds" , esdsCallback);
202
207
parser.setCallback (" mp4a" , mp4aCallback);
203
208
parser.setCallback (" alac" , alacCallback);
204
-
205
- // incremental data callback
206
- parser.setDataCallback (boxDataCallback);
207
209
}
208
210
211
+ // / Defines the callback that returns the audio frames
209
212
void setCallback (FrameCallback cb) {
210
213
sampleExtractor.setReference (ref);
211
214
sampleExtractor.setCallback (cb);
@@ -267,7 +270,7 @@ class M4AAudioDemuxer {
267
270
}
268
271
269
272
// / Just prints the box name and the number of bytes received
270
- static void boxCallback (MP4Parser::Box& box, void * ref) {
273
+ static void boxDataSetupCallback (MP4Parser::Box& box, void * ref) {
271
274
M4AAudioDemuxer& self = *static_cast <M4AAudioDemuxer*>(ref);
272
275
273
276
// mdat must not be buffered
@@ -292,7 +295,7 @@ class M4AAudioDemuxer {
292
295
}
293
296
}
294
297
295
- static void boxDataCallback (MP4Parser::Box& box, const uint8_t * data,
298
+ static void incrementalBoxDataCallback (MP4Parser::Box& box, const uint8_t * data,
296
299
size_t len, bool is_final, void * ref) {
297
300
M4AAudioDemuxer& self = *static_cast <M4AAudioDemuxer*>(ref);
298
301
0 commit comments