Commit Graph

15 Commits

Author SHA1 Message Date
trav90 0343f07498 [mp3] Add blocking read to ensure complete frame reads 2018-07-25 06:36:50 +08:00
trav90 9e8e29f1e1 Add some explicit namespace references to keep compiler happy 2018-07-25 06:36:23 +08:00
trav90 4b7a6746f8 [mp3] Return 0 for incomplete ID3 header size 2018-07-25 06:36:21 +08:00
trav90 de03581394 [mp3] Decrease buffer size when scanning for next frame 2018-07-25 06:36:19 +08:00
trav90 e14db2c288 Fix MP3 decoding with early version of LibAV
LibAV 0.8 incorrectly set the pts as dts ; so we must set the dts to ensure not all frames have a time of 0.
2018-07-25 06:36:15 +08:00
trav90 d972b22cc4 [mp3] Properly read channels count
The channel count is stored on bit 6 & 7 of byte at offset 3.
2018-07-25 06:36:13 +08:00
trav90 ae0250cfaa Prevent potential overflows of the input buffer pointer when skipping large ID3 headers 2018-07-25 06:36:09 +08:00
trav90 11031cf9ed Successfully skip ID3 tags stretching beyond the current input buffer
This also slightly tightens up invalid header detection for both ID3 and MPEG frame headers.
2018-07-25 06:36:08 +08:00
trav90 d010804dbb Abort frame parsing if no valid audio stream is found 2018-07-25 06:36:04 +08:00
trav90 8ad5db6929 Increase strictness of ID3 header detection 2018-07-25 06:36:02 +08:00
trav90 fe6198e9e1 Use getter to access MediaRawData mData and mSize member in MP3Demuxer 2018-07-25 06:36:00 +08:00
trav90 18fcfaafab Add MP3 track demuxer seek tests 2018-07-25 06:35:58 +08:00
trav90 e3a17053d0 Reset MP3 frame parser on track demuxer reset 2018-07-25 06:35:53 +08:00
trav90 75f6617aab Fix MP3 demuxer initialization for resources with unknown content lengths 2018-07-25 06:35:51 +08:00
trav90 cd3cf81bba Rebase MP3 demuxer on MediaDataDemuxer interface 2018-07-25 06:35:47 +08:00