1625 Commits

Author SHA1 Message Date
Oliver Woodman
fb75b65a70 Fix compile error. 2015-10-26 10:24:30 +00:00
ojw28
f133524c2f Merge pull request #828 from jeoliva/flv-experiment
FLV (H.264 + AAC) support
2015-10-26 10:17:53 +00:00
Rik Heijdens
282a3fe818 Converted trackId into String 2015-10-23 09:56:00 -04:00
joli
3e36f529f8 FLV Support - Added Video Reader and parsing improvements 2015-10-22 23:50:46 +02:00
Rik Heijdens
1b469f422f Synced with upstream 2015-10-20 15:52:35 -04:00
Rik Heijdens
1d31521710 Merge branch 'dev' of github.com:/google/ExoPlayer into mediaformat-id-dash
Syncing my fork
2015-10-20 15:49:45 -04:00
Rik Heijdens
1cefde0d0a Deleted unnecessary file used for testing 2015-10-20 15:20:44 -04:00
Rik Heijdens
10f3be6d50 Hls NAME parsing changes
-   NAME is optionial now in the Hls Manifest
-   Use the id field in Format to store the NAME instead of
    a field in Variant to mimic DASH's behaviour
    (see the DASH Id PR, which is not merged yet at this time).
2015-10-20 15:01:44 -04:00
Rik Heijdens
eb282639c5 Parse NAME label from HLS Master Playlist
The HlsPlaylistParser now parses the "NAME" property
from the MasterHlsPlaylist and saves it in the Variant
2015-10-20 14:51:31 -04:00
Rik Heijdens
42351d3127 Added id property to MediaFormat
Added the property 'id' to the MediaFormat class
 which serves as an identifier for the track.

DASH Representations will have the "id's" from their
Media Presentation Description mapped to the id property
 in the MediaFormat class that will represent the track.

We needed this for an use case where we wanted to read the 'id'
value from the DASH representation and present it to the user
in order for the user to select the right track.
2015-10-20 14:21:41 -04:00
Oliver Woodman
0545c58dee Bump version to 1.5.1 2015-10-14 12:12:03 +01:00
Oliver Woodman
b89339f5f7 Update release notes 2015-10-14 12:01:30 +01:00
Oliver Woodman
6d44ec560e 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
2015-10-14 11:51:16 +01:00
Oliver Woodman
aa647745a2 No-op re-orderings. 2015-10-12 17:59:14 +01:00
Oliver Woodman
0b1c8897bc Bump bintray release version. 2015-10-12 17:58:01 +01:00
Oliver Woodman
20e05a31b2 Do TTML color parsing directly in Exoplayer.
- Added TtmlColorParser to workaround JellyBean issues with named colors.
- Support rgb and rgba expressions as well.
2015-10-12 17:57:10 +01:00
Oliver Woodman
414ad05314 Fix package for vp9opus demo. 2015-10-12 12:34:17 +01:00
Oliver Woodman
b7d242e2c1 Add missing Eclipse files for playback tests. 2015-10-12 12:32:49 +01:00
Oliver Woodman
bcb9f8282d 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.
2015-10-12 12:32:10 +01:00
Oliver Woodman
9b4e9723e5 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
2015-10-12 12:28:14 +01:00
Oliver Woodman
c4235d0e8d Ignore tfdt boxes for SmoothStreaming playbacks.
Issue #838
2015-10-12 12:26:58 +01:00
Oliver Woodman
7905506681 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
2015-10-12 12:25:58 +01:00
Oliver Woodman
952bd4e73c Don't calculate a maximum input size for H.264 on Sony 4k TV.
Issue: #800
2015-10-12 12:24:48 +01:00
Oliver Woodman
a764b359e8 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.
2015-10-12 12:21:16 +01:00
Oliver Woodman
a5ebb49a1a Set the maximum input size based on the sample table for MP4s. 2015-10-12 12:20:15 +01:00
Oliver Woodman
3682141ee1 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
2015-10-12 12:18:12 +01:00
Oliver Woodman
ab489d35e9 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.
2015-10-12 12:16:15 +01:00
Oliver Woodman
bcb4ea4f70 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://...
2015-10-12 12:15:13 +01:00
Oliver Woodman
6bf817f107 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
2015-10-12 12:12:43 +01:00
ojw28
98426a782f Merge pull request #857 from IanDBird/dev-truehd
Add support for TrueHD audio codec in WebMExtractor
2015-10-12 12:03:31 +01:00
ojw28
8c53590b9b Merge pull request #858 from IanDBird/dev-mpeg2
Add support for MPEG2 video codec in WebMExtractor
2015-10-12 12:03:26 +01:00
Ian Bird
e933e2d49f Add support for MPEG2 video codec in WebMExtractor 2015-10-09 14:38:39 +01:00
Ian Bird
ee8a00b68a Add support for TrueHD audio codec in WebMExtractor 2015-10-09 14:12:48 +01:00
ojw28
2d967a1b6d Merge pull request #856 from IanDBird/dev
Make MediaCodecUtil.getMediaCodecInfo public
2015-10-09 12:40:33 +01:00
Ian Bird
6a5cd68892 Make MediaCodecUtil.getMediaCodecInfo public 2015-10-09 12:33:01 +01:00
Oliver Woodman
5b81612c3b Tweak okhttp package name 2015-10-01 17:33:02 +01:00
Oliver Woodman
01597d0208 Fix markup 2015-09-29 21:58:12 +01:00
Oliver Woodman
851cde2e0e Update RELEASENOTES 2015-09-29 21:56:41 +01:00
Oliver Woodman
ba6cb05e0a Update ReadMe files. 2015-09-29 21:55:51 +01:00
Oliver Woodman
e1d6f8618b Package restructuring 2015-09-29 21:51:45 +01:00
Oliver Woodman
19c7520e68 Better gradle package names 2015-09-29 21:41:35 +01:00
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
joli
8ddc73511e FLV Support - Added Audio and Script Data readers 2015-09-29 17:20:38 +02: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