983 Commits

Author SHA1 Message Date
Oliver Woodman
0ff03e40bd Okhttp extension - Update gradle build 2015-09-29 21:27:37 +01:00
Oliver Woodman
af1ffeccc7 OkHttp extension - Add eclipse project 2015-09-29 21:24:45 +01:00
Oliver Woodman
434a2733a3 OkHttp extension modifications.
1. Change package name (rm "datasource")
2. Require injection of OkHttpClient through all constructors, and
   remove allowCrossProtocolRedirect/connectTimeout/readTimeout
   constructor arguments. The client should be configured with these
   prior to injection.
3. Fix code style to be consistent with the project.
4. Simplify call to get contentLength. I'm pretty sure okhttp returns
   the correct value when gzip is enabled, so there's no need to check
   this in the data source.
5. Misc cleanups.
2015-09-29 21:10:34 +01:00
ojw28
2112bc24e3 Merge pull request #735 from b95505017/okhttp_http_data_source
Add an extension that provide DataSource using OkHttp
2015-09-29 21:06:46 +01:00
Oliver Woodman
62ce0ff009 Fix indentation. 2015-09-29 11:40:59 +01:00
Oliver Woodman
d8934e2751 Make mapping from position to time more accurate in XING MP3 streams.
This change keeps the proportion offset * 256 as a floating point value rather
than rounding it before linear interpolation, which will increase precision
slightly when seeking in streams with XING headers.

In practice, this won't make much of a difference because precise seeking in VBR
MP3s with XING headers seems not to be possible without reading the entire file,
due to the fact that the (uneven) distribution of bits is represented by a fixed
number of table of contents entries.
2015-09-29 11:37:40 +01:00
Oliver Woodman
15da18d900 Fix format selection bug.
Issue: #825
2015-09-29 11:36:26 +01:00
Oliver Woodman
427cb34aca Bump version to 1.5.0 2015-09-28 20:56:28 +01:00
Oliver Woodman
dce74f4209 Add onDrmKeysLoaded back again (oops) 2015-09-28 20:24:46 +01:00
Oliver Woodman
e96e618046 Clean up expansion of sample buffers.
- The old approach was technically incorrect, because the checks
were "capacity < sampleSize" and hence neglected the fact that
the buffer position may be greater than 0 (e.g. if the caller
wants to prefix the sample with some additional data).

- Also proactively throw an exception if the buffer is too small,
rather than wait for the failure when we actually do the write.
2015-09-28 20:23:45 +01:00
Oliver Woodman
15c2f9c328 Explicitly set max input size for H264 decoders.
This works around an issue where some devices, such as the Acer Iconia,
don't allocate large enough input buffers for H264.

Issue: #616
Issue: #714
2015-09-28 12:38:35 +01:00
Oliver Woodman
decb7f58c7 Expose container track identifier via MediaFormat.
Issue: #770
2015-09-28 12:36:28 +01:00
Oliver Woodman
979fd083b4 Don't invoke adaptiveTrack with 0 or 1 representations.
0 will crash. 1 is pointless.
2015-09-28 12:34:19 +01:00
Oliver Woodman
e8895c8746 Fix AudioTrack EOS handling in ExoPlayer. 2015-09-28 12:25:30 +01:00
Oliver Woodman
e035e4de7f Let MediaController handle whatever keys it wants to handle.
....Except BACK and MENU, which only make sense if the the controller
is visible.
2015-09-28 12:25:05 +01:00
Oliver Woodman
15052052ee Clean up TrackRenderer TODOs 2015-09-28 12:24:35 +01:00
Oliver Woodman
b81ac8cdc2 Added robustness for chunk removal.
Issue #812
2015-09-28 12:24:13 +01:00
Oliver Woodman
42416b82db Fixed issue in which DashChunkSource didn't make use of the most recent
manifest.
2015-09-28 12:22:54 +01:00
Oliver Woodman
c3e0d34aa1 Fixed int overflow issue with callbacks on very long-running streams. 2015-09-28 12:22:12 +01:00
Oliver Woodman
e4e02f9189 Further improve WebVTT parser according to WebVTT spec 2015-09-28 12:20:27 +01:00
Oliver Woodman
71f542f7c2 If a parser really wants to throw a runtime exception, don't crash. 2015-09-28 12:16:26 +01:00
Oliver Woodman
ee80be9217 Fix comment typo 2015-09-28 12:15:53 +01:00
Oliver Woodman
e652019bb3 Tweak new drm listener method. Fix demo app 2015-09-28 11:59:10 +01:00
ojw28
6cb029d8c1 Merge pull request #818 from pakerfeldt/on-drm-session-ready
Add onDrmSessionReady callback
2015-09-28 11:16:29 +01:00
Patrik Åkerfeldt
95db1eacd1 Add onKeysLoaded callback
This adds a callback for when DRM keys have been loaded.
2015-09-25 10:03:00 +02:00
Oliver Woodman
765d1659be Return "seeked to" position immediately after seek. 2015-09-18 18:25:25 +01:00
Oliver Woodman
c1b8352e33 Stylistic tweaks. 2015-09-18 18:25:07 +01:00
Oliver Woodman
88452d95ee Playback test tweaks. 2015-09-18 18:24:33 +01:00
Oliver Woodman
da97e30e33 Support mp3 media segments in HLS.
Issue #804
2015-09-18 18:23:50 +01:00
Oliver Woodman
c960636d28 Stylistic cleanup. 2015-09-18 18:23:28 +01:00
Oliver Woodman
cf27b83e8a Implement handlesTrack using MediaCodecUtil. 2015-09-18 18:22:40 +01:00
Oliver Woodman
8022d28e04 Make certain we have appropriate locks held for playback tests. 2015-09-18 18:21:26 +01:00
Oliver Woodman
3538e57797 Work around incorrect timestamp handling on Sony Xperia E.
Also include more Sony Xperia Z devices in the MP3 workaround.
2015-09-18 18:20:47 +01:00
Oliver Woodman
6ef8c3a61b Avoid loading the first HLS segment twice.
Issue: #788
2015-09-18 18:20:12 +01:00
Oliver Woodman
8a723706d6 Provide more flexibility for setting caption font size.
- Respect any padding set on SubtitleLayout.
- Allow specification of absolute, fractional and fractional-ignoring-padding
  text sizes.
2015-09-18 18:19:28 +01:00
Oliver Woodman
7f9b12982d Use consistent buffer sizes in demo app. 2015-09-18 18:18:15 +01:00
ojw28
d6801389de Merge pull request #807 from castlabs/feature/parse_audio_channels_only_for_mpeg_dash
Parse audioChannels only when on mpeg-dash
2015-09-18 11:58:28 +01:00
Miquel Beltran
ff6455aadb Parse audioChannels only when on mpeg-dash
Only parse the @value as Int when the schemeIdUri is urn:mpeg:dash:23003:3:audio_channel_configuration:2011
2015-09-18 11:48:34 +02:00
ojw28
de68c982ab Merge pull request #795 from jeoliva/webvtt-parser-improvements
Improve WebVTT parser according to WebVTT spec
2015-09-17 16:34:33 +01:00
ojw28
1be3f9dcbc Merge pull request #796 from souji1103/dev
Prevent ArrayIndexOutOfBoundsException when proguard is enabled
2015-09-17 15:15:59 +01:00
joli
925795cb4f Improve WebVTT parser according to WebVTT spec
- Line parameter
  - Added support for value and line alignment attributes.
  - Support negative numbers when line is an absolute number (not a
percentage).
- Position parameter
  - Added support for value and position alignment attributes
- Added support for WebVTT comment blocks
- Percentage values now accept decimal numbers (as webvtt spec states)
- Added new WebVTT tests for testing all new implemented features
2015-09-16 21:09:44 +02:00
souji
e2ed741ddd prevented excess loop, reading pes header 2015-09-16 09:04:04 +09:00
Oliver Woodman
d7697176ed Include language in audio formats.
Issue: #437
2015-09-15 13:45:54 +01:00
Oliver Woodman
b6f15a17e0 TTML improvements.
- do not denormalize styles at parsing time but only put normalized style info
into TtmlNode tree. Resolve styles on demand when Cues are requested for a
given timeUs.
- create TtmlRenderUtil to have static render functions separate
- added unit test for TtmlRenderUtil
- adjusted testing strategy for unit test to check resolved style on Spannables after rendering
2015-09-15 13:44:52 +01:00
Oliver Woodman
908e4dfd5d Search for synch' when sniffing ADTS and check four frames.
Issue: #791
2015-09-15 13:43:42 +01:00
Oliver Woodman
721956710f Remove MediaFormat.create methods that don't take a duration. 2015-09-15 13:43:12 +01:00
Oliver Woodman
e7926145c6 Fix overflow for DASH live streams using large timescales.
Issue: #789
2015-09-15 13:42:16 +01:00
Oliver Woodman
74186c2cd0 Try harder before allowing playback tests to fail. 2015-09-15 13:42:01 +01:00
Oliver Woodman
ab46d263ad Use decoders with names that don't start "OMX.".
There is no guarantee codec names start with this prefix in >= L.

Issue: #782
2015-09-15 13:41:42 +01:00
Oliver Woodman
5050913ba0 Update release notes. 2015-09-10 19:19:17 +01:00