Commit Graph

611 Commits

Author SHA1 Message Date
Henrik Rydgard
ff4b99dd97 Replace for-loop with multiplication 2016-12-20 21:52:25 +01:00
Henrik Rydgard
6782f7c75d Just figure out how many samples to read, then read it, instead of one-by-one. 2016-12-20 21:47:50 +01:00
Henrik Rydgard
e802fb0b73 Remove the verification. 2016-12-20 21:42:11 +01:00
Henrik Rydgard
451388070a Fix bug. Now use the quick inner loop, just need to redo the sample reader... 2016-12-20 21:37:31 +01:00
Henrik Rydgard
064795216e Add parallel resampling algorithm that reads directly from the temp buf 2016-12-20 21:05:23 +01:00
Henrik Rydgard
47df134b66 Optimization step 1: Separate the loops, save history from buffer. 2016-12-20 20:50:34 +01:00
Henrik Rydgard
61f80edda3 SasAudio: Straightforward implementation of linear interpolation.
Not sure about the performance impact, but calling ReadSamples with 1 as
an argument can't be terribly fast. So this might need some redesign
before merge, but should be a good starting point.
2016-12-20 20:23:00 +01:00
Henrik Rydgard
dee686b9d4 Add a setting to make the audio buffer sizes bluetooth-friendly on Android.
Replaces #8846
2016-12-01 21:36:44 +01:00
Unknown W. Brackets
209500ac0e Read only the mpeg header when reading packets.
When trying to convince FFmpeg to read only the header, this was allowed
to get longer.  But we only really need the actual header here, and that
can prevent FFmpeg mis-parsing later packets.
2016-09-24 17:45:51 -07:00
Henrik Rydgard
a465104e28 Minor code cleanup in StereoResampler (remove inner class) 2016-09-10 12:17:19 +02:00
Unknown W. Brackets
83469d5b18 Fix a type conversion warning. 2016-09-05 19:14:48 -07:00
Chris Burgener
7d089a0f76 Clean up various files 2016-09-03 19:23:17 -04:00
Chris Burgener
645cb4d69e Add Audio Dumping to File 2016-09-03 14:05:38 -04:00
Henrik Rydgård
eac18489e6 Merge pull request #8867 from unknownbrackets/mpeg
Improve mpeg parsing / corruption issues
2016-08-06 18:14:17 +02:00
Unknown W. Brackets
980d4194c0 Io: Add a config setting for memstick status. 2016-08-05 21:27:53 -07:00
Unknown W. Brackets
bf7a020c6a Io: Notify callbacks on memstick insert/remove. 2016-08-05 21:05:48 -07:00
Unknown W. Brackets
9e488e8be4 Io: Correct some memstick devctl accuracy issues.
This makes it pass the right values in a few more cases, and unregister
callbacks properly.  Also handles duplicate callbacks.
2016-08-05 20:42:58 -07:00
Unknown W. Brackets
558b4620e8 Mpeg: Parse video streams from PSMF header.
Without doing this, FFmpeg will try to probe the streams to detect them
instead.  When it does this, sometimes it tries to read beyond the data
that's available - and then gets confused by EOFs.

Parsing this way allows us to control the situation.

An example is Valkyrie Profile, corruption in the first frames of the
second video during the intro.  Thi doesn't fix it yet, but now it's just
a matter of buffering.
2016-07-24 15:58:06 -07:00
Unknown W. Brackets
dcc2541b71 Mpeg: Ask FFmpeg not to look beyond the header. 2016-07-24 15:58:05 -07:00
Unknown W. Brackets
57ae9a1181 Mpeg: Ensure garbage is not read from header.
In cases where we did not have a full 64k at first, we would potentially
send FFmpeg garbage if it asked for it.
2016-07-24 15:58:04 -07:00
Unknown W. Brackets
ff95fcd321 Mpeg: Minor cleanup to header parsing.
Make sure we don't read garbage.
2016-07-24 15:58:03 -07:00
Unknown W. Brackets
266ee632e8 Cleanup FFmpeg funcs deprecated in 3.x. 2016-07-24 12:53:54 -07:00
Unknown W. Brackets
c8d0270bb4 Mpeg: Validate data more during demux.
This also parses a bit earlier, not requiring a full 2048 bytes ahead at
all times.
2016-06-04 18:16:21 -07:00
Unknown W. Brackets
4d16835990 Mpeg: Validate the pack header. 2016-06-04 18:16:20 -07:00
Unknown W. Brackets
b191fd2914 Mpeg: Make sure not to demux outside the buffer. 2016-06-04 18:16:19 -07:00