9d62258 | ojw28 | 15 October 2015, 11:28:21 UTC | Merge pull request #868 from google/dev-1.5.1-rc r1.5.1 | 15 October 2015, 11:28:21 UTC |
0545c58 | Oliver Woodman | 14 October 2015, 11:12:03 UTC | Bump version to 1.5.1 | 14 October 2015, 11:12:03 UTC |
b89339f | Oliver Woodman | 14 October 2015, 11:01:30 UTC | Update release notes | 14 October 2015, 11:01:30 UTC |
6d44ec5 | Oliver Woodman | 14 October 2015, 10:51:16 UTC | Skip to the sample/auxiliary data offset in fragmented MP4 streams. The sample data position is the sum of the data offset and the base data offset. The base data offset is either specified in the stream, or defaults to the first byte position in the moof box. (We only support one traf per moof currently, so the offset does not need to be assigned for later track fragments.) The data position can optionally be offset by a data position read from the trun. The auxiliary information offset is calculated in the same way, but using an offset read from the saio box. Issue: #837 Issue: #861 | 14 October 2015, 10:51:16 UTC |
aa64774 | Oliver Woodman | 12 October 2015, 16:59:14 UTC | No-op re-orderings. | 12 October 2015, 16:59:14 UTC |
0b1c889 | Oliver Woodman | 12 October 2015, 16:58:01 UTC | Bump bintray release version. | 12 October 2015, 16:58:01 UTC |
20e05a3 | Oliver Woodman | 12 October 2015, 16:57:10 UTC | Do TTML color parsing directly in Exoplayer. - Added TtmlColorParser to workaround JellyBean issues with named colors. - Support rgb and rgba expressions as well. | 12 October 2015, 16:57:10 UTC |
414ad05 | Oliver Woodman | 12 October 2015, 11:34:17 UTC | Fix package for vp9opus demo. | 12 October 2015, 11:34:17 UTC |
b7d242e | Oliver Woodman | 12 October 2015, 11:32:49 UTC | Add missing Eclipse files for playback tests. | 12 October 2015, 11:32:49 UTC |
bcb9f82 | Oliver Woodman | 12 October 2015, 11:32:10 UTC | Enable SmoothFrameTimeHelper by default. Context: - Currently, playback is significantly more juddery with it disabled, particularly on AndroidTV. - We should be able to do the "best" job of this internally, so injection doesn't buy anything useful. If someone has a better implementation for adjusting the frame release, they should improve the core library. | 12 October 2015, 11:32:10 UTC |
9b4e972 | Oliver Woodman | 12 October 2015, 11:28:14 UTC | Don't use SEC VP8 decoder on Galaxy S3s. The only Samsung devices with names starting "d2" that we're aware of are Galaxy S3 variants, and also one Samsung Galaxy Pocket Neo d2aio SAMSUNG-SGH-I747Z. This change speculatively includes that device too because its name is very similar to SAMSUNG-SGH-I747 which is known to be affected. Issue: #548 | 12 October 2015, 11:28:14 UTC |
c4235d0 | Oliver Woodman | 12 October 2015, 11:26:58 UTC | Ignore tfdt boxes for SmoothStreaming playbacks. Issue #838 | 12 October 2015, 11:26:58 UTC |
7905506 | Oliver Woodman | 12 October 2015, 11:25:58 UTC | On Sony Bravia devices check for 4k panel. Documentation: https://developer.sony.com/develop/tvs/android-tv/design-guide/ On API 23 we should also check Display.Mode (where supported). Issue: #800 | 12 October 2015, 11:25:58 UTC |
952bd4e | Oliver Woodman | 12 October 2015, 11:24:48 UTC | Don't calculate a maximum input size for H.264 on Sony 4k TV. Issue: #800 | 12 October 2015, 11:24:48 UTC |
a764b35 | Oliver Woodman | 12 October 2015, 11:21:16 UTC | Add support for DTS passthrough on supporting devices before API 23. NVIDIA Shield before API 23 supports DTS passthrough, so this change inlines the constant value. | 12 October 2015, 11:21:16 UTC |
a5ebb49 | Oliver Woodman | 12 October 2015, 11:20:15 UTC | Set the maximum input size based on the sample table for MP4s. | 12 October 2015, 11:20:15 UTC |
3682141 | Oliver Woodman | 12 October 2015, 11:18:12 UTC | webm_extractor: Re-sync to next level 1 element on invalid data Try re-sync'ing to the next level 1 element when invalid data is found. This corrects the behavior for test case 4 in the mkv test suite. Partially Fixes Issue #631 | 12 October 2015, 11:18:12 UTC |
ab489d3 | Oliver Woodman | 12 October 2015, 11:16:15 UTC | Don't pass keyboard escape key to media controller. This makes it possible to exit the player when using e.g. an Android TV with a keyboard. | 12 October 2015, 11:16:15 UTC |
bcb4ea4 | Oliver Woodman | 12 October 2015, 11:15:13 UTC | Allow launching of ExoPlayer demo app via adb shell. For example: adb shell am start -a com.google.android.exoplayer.demo.action.VIEW -d http://... | 12 October 2015, 11:15:13 UTC |
6bf817f | Oliver Woodman | 12 October 2015, 11:12:43 UTC | Workaround EOS propagation for all devices with RK decoder. As per the end of the related issue, it's likely that all devices running the affected API levels + decoder are affected by the same issue. Issue #464 | 12 October 2015, 11:12:43 UTC |
98426a7 | ojw28 | 12 October 2015, 11:03:31 UTC | Merge pull request #857 from IanDBird/dev-truehd Add support for TrueHD audio codec in WebMExtractor | 12 October 2015, 11:03:31 UTC |
8c53590 | ojw28 | 12 October 2015, 11:03:26 UTC | Merge pull request #858 from IanDBird/dev-mpeg2 Add support for MPEG2 video codec in WebMExtractor | 12 October 2015, 11:03:26 UTC |
e933e2d | Ian Bird | 09 October 2015, 13:38:39 UTC | Add support for MPEG2 video codec in WebMExtractor | 09 October 2015, 13:38:39 UTC |
ee8a00b | Ian Bird | 09 October 2015, 13:12:48 UTC | Add support for TrueHD audio codec in WebMExtractor | 09 October 2015, 13:12:48 UTC |
2d967a1 | ojw28 | 09 October 2015, 11:40:33 UTC | Merge pull request #856 from IanDBird/dev Make MediaCodecUtil.getMediaCodecInfo public | 09 October 2015, 11:40:33 UTC |
6a5cd68 | Ian Bird | 09 October 2015, 11:33:01 UTC | Make MediaCodecUtil.getMediaCodecInfo public | 09 October 2015, 11:33:01 UTC |
5b81612 | Oliver Woodman | 01 October 2015, 16:33:02 UTC | Tweak okhttp package name | 01 October 2015, 16:33:02 UTC |
01597d0 | Oliver Woodman | 29 September 2015, 20:58:12 UTC | Fix markup | 29 September 2015, 20:58:12 UTC |
851cde2 | Oliver Woodman | 29 September 2015, 20:56:41 UTC | Update RELEASENOTES | 29 September 2015, 20:56:41 UTC |
ba6cb05 | Oliver Woodman | 29 September 2015, 20:55:51 UTC | Update ReadMe files. | 29 September 2015, 20:55:51 UTC |
e1d6f86 | Oliver Woodman | 29 September 2015, 20:51:45 UTC | Package restructuring | 29 September 2015, 20:51:45 UTC |
19c7520 | Oliver Woodman | 29 September 2015, 20:41:35 UTC | Better gradle package names | 29 September 2015, 20:41:35 UTC |
0ff03e4 | Oliver Woodman | 29 September 2015, 20:27:37 UTC | Okhttp extension - Update gradle build | 29 September 2015, 20:27:37 UTC |
af1ffec | Oliver Woodman | 29 September 2015, 20:24:45 UTC | OkHttp extension - Add eclipse project | 29 September 2015, 20:24:45 UTC |
434a273 | Oliver Woodman | 29 September 2015, 20:10:34 UTC | 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. | 29 September 2015, 20:10:34 UTC |
2112bc2 | ojw28 | 29 September 2015, 20:06:46 UTC | Merge pull request #735 from b95505017/okhttp_http_data_source Add an extension that provide DataSource using OkHttp | 29 September 2015, 20:06:46 UTC |
0c060f4 | ojw28 | 29 September 2015, 11:25:28 UTC | Merge pull request #826 from google/dev-1.5.0-rc 1.5.0 release | 29 September 2015, 11:25:28 UTC |
62ce0ff | Oliver Woodman | 29 September 2015, 10:40:59 UTC | Fix indentation. | 29 September 2015, 10:40:59 UTC |
d8934e2 | Oliver Woodman | 29 September 2015, 10:37:40 UTC | 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. | 29 September 2015, 10:37:40 UTC |
15da18d | Oliver Woodman | 29 September 2015, 10:36:26 UTC | Fix format selection bug. Issue: #825 | 29 September 2015, 10:36:26 UTC |
427cb34 | Oliver Woodman | 28 September 2015, 19:56:28 UTC | Bump version to 1.5.0 | 28 September 2015, 19:56:28 UTC |
dce74f4 | Oliver Woodman | 28 September 2015, 19:24:46 UTC | Add onDrmKeysLoaded back again (oops) | 28 September 2015, 19:24:46 UTC |
e96e618 | Oliver Woodman | 28 September 2015, 19:23:45 UTC | 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. | 28 September 2015, 19:23:45 UTC |
15c2f9c | Oliver Woodman | 28 September 2015, 11:38:35 UTC | 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 | 28 September 2015, 11:38:35 UTC |
decb7f5 | Oliver Woodman | 28 September 2015, 11:36:28 UTC | Expose container track identifier via MediaFormat. Issue: #770 | 28 September 2015, 11:36:28 UTC |
979fd08 | Oliver Woodman | 28 September 2015, 11:34:19 UTC | Don't invoke adaptiveTrack with 0 or 1 representations. 0 will crash. 1 is pointless. | 28 September 2015, 11:34:19 UTC |
e8895c8 | Oliver Woodman | 28 September 2015, 11:25:30 UTC | Fix AudioTrack EOS handling in ExoPlayer. | 28 September 2015, 11:25:30 UTC |
e035e4d | Oliver Woodman | 28 September 2015, 11:25:05 UTC | Let MediaController handle whatever keys it wants to handle. ....Except BACK and MENU, which only make sense if the the controller is visible. | 28 September 2015, 11:25:05 UTC |
1505205 | Oliver Woodman | 28 September 2015, 11:24:35 UTC | Clean up TrackRenderer TODOs | 28 September 2015, 11:24:35 UTC |
b81ac8c | Oliver Woodman | 28 September 2015, 11:24:13 UTC | Added robustness for chunk removal. Issue #812 | 28 September 2015, 11:24:13 UTC |
42416b8 | Oliver Woodman | 28 September 2015, 11:22:54 UTC | Fixed issue in which DashChunkSource didn't make use of the most recent manifest. | 28 September 2015, 11:22:54 UTC |
c3e0d34 | Oliver Woodman | 28 September 2015, 11:22:12 UTC | Fixed int overflow issue with callbacks on very long-running streams. | 28 September 2015, 11:22:12 UTC |
e4e02f9 | Oliver Woodman | 28 September 2015, 11:20:27 UTC | Further improve WebVTT parser according to WebVTT spec | 28 September 2015, 11:20:27 UTC |
71f542f | Oliver Woodman | 28 September 2015, 11:16:26 UTC | If a parser really wants to throw a runtime exception, don't crash. | 28 September 2015, 11:16:26 UTC |
ee80be9 | Oliver Woodman | 28 September 2015, 11:15:53 UTC | Fix comment typo | 28 September 2015, 11:15:53 UTC |
e652019 | Oliver Woodman | 28 September 2015, 10:59:10 UTC | Tweak new drm listener method. Fix demo app | 28 September 2015, 10:59:10 UTC |
6cb029d | ojw28 | 28 September 2015, 10:16:29 UTC | Merge pull request #818 from pakerfeldt/on-drm-session-ready Add onDrmSessionReady callback | 28 September 2015, 10:16:29 UTC |
95db1ea | Patrik Åkerfeldt | 24 September 2015, 12:40:04 UTC | Add onKeysLoaded callback This adds a callback for when DRM keys have been loaded. | 25 September 2015, 08:03:00 UTC |
765d165 | Oliver Woodman | 18 September 2015, 17:25:25 UTC | Return "seeked to" position immediately after seek. | 18 September 2015, 17:25:25 UTC |
c1b8352 | Oliver Woodman | 18 September 2015, 17:25:07 UTC | Stylistic tweaks. | 18 September 2015, 17:25:07 UTC |
88452d9 | Oliver Woodman | 18 September 2015, 17:24:33 UTC | Playback test tweaks. | 18 September 2015, 17:24:33 UTC |
da97e30 | Oliver Woodman | 18 September 2015, 17:23:50 UTC | Support mp3 media segments in HLS. Issue #804 | 18 September 2015, 17:23:50 UTC |
c960636 | Oliver Woodman | 18 September 2015, 17:23:28 UTC | Stylistic cleanup. | 18 September 2015, 17:23:28 UTC |
cf27b83 | Oliver Woodman | 18 September 2015, 17:22:40 UTC | Implement handlesTrack using MediaCodecUtil. | 18 September 2015, 17:22:40 UTC |
8022d28 | Oliver Woodman | 18 September 2015, 17:21:26 UTC | Make certain we have appropriate locks held for playback tests. | 18 September 2015, 17:21:26 UTC |
3538e57 | Oliver Woodman | 18 September 2015, 17:20:47 UTC | Work around incorrect timestamp handling on Sony Xperia E. Also include more Sony Xperia Z devices in the MP3 workaround. | 18 September 2015, 17:20:47 UTC |
6ef8c3a | Oliver Woodman | 18 September 2015, 17:20:12 UTC | Avoid loading the first HLS segment twice. Issue: #788 | 18 September 2015, 17:20:12 UTC |
8a72370 | Oliver Woodman | 18 September 2015, 17:19:28 UTC | 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. | 18 September 2015, 17:19:28 UTC |
7f9b129 | Oliver Woodman | 18 September 2015, 17:18:15 UTC | Use consistent buffer sizes in demo app. | 18 September 2015, 17:18:15 UTC |
d680138 | ojw28 | 18 September 2015, 10:58:28 UTC | Merge pull request #807 from castlabs/feature/parse_audio_channels_only_for_mpeg_dash Parse audioChannels only when on mpeg-dash | 18 September 2015, 10:58:28 UTC |
ff6455a | Miquel Beltran | 18 September 2015, 09:48:34 UTC | 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 | 18 September 2015, 09:48:34 UTC |
de68c98 | ojw28 | 17 September 2015, 15:34:33 UTC | Merge pull request #795 from jeoliva/webvtt-parser-improvements Improve WebVTT parser according to WebVTT spec | 17 September 2015, 15:34:33 UTC |
1be3f9d | ojw28 | 17 September 2015, 14:15:59 UTC | Merge pull request #796 from souji1103/dev Prevent ArrayIndexOutOfBoundsException when proguard is enabled | 17 September 2015, 14:15:59 UTC |
925795c | joli | 11 September 2015, 00:58:56 UTC | 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 | 16 September 2015, 19:09:44 UTC |
e2ed741 | souji | 16 September 2015, 00:04:04 UTC | prevented excess loop, reading pes header | 16 September 2015, 00:04:04 UTC |
d769717 | Oliver Woodman | 15 September 2015, 12:45:54 UTC | Include language in audio formats. Issue: #437 | 15 September 2015, 12:45:54 UTC |
b6f15a1 | Oliver Woodman | 15 September 2015, 12:44:52 UTC | 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 | 15 September 2015, 12:44:52 UTC |
908e4df | Oliver Woodman | 15 September 2015, 12:43:42 UTC | Search for synch' when sniffing ADTS and check four frames. Issue: #791 | 15 September 2015, 12:43:42 UTC |
7219567 | Oliver Woodman | 15 September 2015, 12:43:12 UTC | Remove MediaFormat.create methods that don't take a duration. | 15 September 2015, 12:43:12 UTC |
e792614 | Oliver Woodman | 15 September 2015, 12:42:16 UTC | Fix overflow for DASH live streams using large timescales. Issue: #789 | 15 September 2015, 12:42:16 UTC |
74186c2 | Oliver Woodman | 15 September 2015, 12:41:55 UTC | Try harder before allowing playback tests to fail. | 15 September 2015, 12:42:01 UTC |
ab46d26 | Oliver Woodman | 15 September 2015, 12:41:42 UTC | Use decoders with names that don't start "OMX.". There is no guarantee codec names start with this prefix in >= L. Issue: #782 | 15 September 2015, 12:41:42 UTC |
5050913 | Oliver Woodman | 10 September 2015, 18:19:17 UTC | Update release notes. | 10 September 2015, 18:19:17 UTC |
e6e1e2c | Oliver Woodman | 10 September 2015, 18:03:14 UTC | Tweaking TTML parsing logic. | 10 September 2015, 18:03:40 UTC |
04342f2 | Oliver Woodman | 10 September 2015, 17:31:08 UTC | Don't use toLowerCase :). It can do weird things if the device has an unusual default Locale. Util.toLowerInvariant uses the US Locale, which does the right thing in this case. | 10 September 2015, 17:31:08 UTC |
eeb73a8 | Oliver Woodman | 10 September 2015, 17:30:47 UTC | Improve sniffer behavior for fragmented MP4. - Allow a moof box to exceed the search size. - Return immediately after reading an ftyp box with no compatible types. Issue: #784 | 10 September 2015, 17:30:47 UTC |
6f9019a | Oliver Woodman | 10 September 2015, 17:30:13 UTC | Use DTS to set timestamp adjustment where available. Partial fix for #778 | 10 September 2015, 17:30:13 UTC |
1f3bd97 | Oliver Woodman | 10 September 2015, 17:29:36 UTC | Add non-strict SubRip parsing (enabled by default). | 10 September 2015, 17:29:36 UTC |
ede7a69 | Oliver Woodman | 10 September 2015, 17:28:50 UTC | Change DTS MIME type to vnd.dts. | 10 September 2015, 17:28:50 UTC |
ab66dfa | Oliver Woodman | 10 September 2015, 17:27:03 UTC | Parsing embedded TTML styling. | 10 September 2015, 17:27:03 UTC |
95fcb3b | Oliver Woodman | 10 September 2015, 17:24:31 UTC | Draw subtitles over the shutter. This allows the demo app to display subtitles without video (when there's no video, the shutter view does not hide itself). | 10 September 2015, 17:24:31 UTC |
e48851d | Oliver Woodman | 10 September 2015, 17:23:20 UTC | Share PTS timestamp adjustment across format changes. When switching format in HLS, we instantiate a new extractor, which adjusts TS presentation timestamps so that they align properly with the start of the first segment in the new format. Some HLS streams appear to have slightly misalignment that causes a glitch when using this approach. It's better to re-use the same timestamp adjustment across formats, and only reset it when seeking or when there's an actual discontinuity. This is because the HLS spec guarantees PTS timestamp alignment across different formats. We'll also need something like PtsTimestampAdjuster to share between separated audio and WebVTT tracks, which also contain PTS timestamps that are aligned, and will need to share a common adjustment. Issue: #692 | 10 September 2015, 17:23:57 UTC |
7d38d2e | Oliver Woodman | 10 September 2015, 17:22:44 UTC | CuePainter fixes for caption styling. - Don't allow "nothing has changed" optimization in the case that only styling has changed (TextUtils.equals will return true in this case, but we shouldn't optimize). - Add functionality to suppress embedded styling; seems useful to have. - Added "this." for clarity. | 10 September 2015, 17:22:44 UTC |
68f2dc5 | Oliver Woodman | 10 September 2015, 17:22:07 UTC | Remove MultiTrackChunkSource (multi track now supported directly). | 10 September 2015, 17:22:07 UTC |
e6ca2df | Oliver Woodman | 10 September 2015, 17:21:21 UTC | Fix end-of-stream for live streams. Issue: #764 | 10 September 2015, 17:21:21 UTC |
89fcafe | Oliver Woodman | 10 September 2015, 17:20:07 UTC | Correctly set a format duration. | 10 September 2015, 17:20:07 UTC |
820433d | Oliver Woodman | 10 September 2015, 17:17:13 UTC | Call stop() to fully play out remaining audio! Issue: #707 | 10 September 2015, 17:19:09 UTC |
9bcc00f | Oliver Woodman | 10 September 2015, 17:16:42 UTC | Fix reported buffered position for HLS across format switches. | 10 September 2015, 17:16:42 UTC |
a7ba393 | Oliver Woodman | 10 September 2015, 17:16:23 UTC | When multiple BaseURL elements are present, prefer the first one. Issue: #771 | 10 September 2015, 17:16:23 UTC |
4a29be4 | Oliver Woodman | 10 September 2015, 17:15:15 UTC | Correctly use "current-manifest-live" v.s. "stream-is-live" When a live stream ends, what typically happens is that the manifest is refreshed and the refreshed version is not marked as live/dynamic. When this happens we: 1. Don't want the duration of the track to change. 2. Still want to consider the possibility that we may have fallen behind the live window. 3. Don't want to allow futher manifest refreshes. This change uses the right thing in the right place. | 10 September 2015, 17:15:15 UTC |