Oliver Woodman
db5cc21c33
Revert test
2015-01-26 15:18:27 +00:00
Oliver Woodman
fda8f6d35a
Test
2015-01-26 15:12:17 +00:00
Oliver Woodman
7b41741db0
Revert test.
2015-01-26 15:01:25 +00:00
Oliver Woodman
76f44eeb13
Test.
2015-01-26 15:01:00 +00:00
Andrey Udovenko
4158ede6e3
Move Closed Captions processing to Eia608TrackRenderer. Use TextRenderer interface for captions. Sort captions based on video frames DTS. Add better control characters and special characters in basic North American character set support. Fixes #156
2015-01-21 11:54:23 -05:00
ojw28
06e9e5d3ea
Merge pull request #234 from google/dev
...
dev -> dev-hls
2015-01-12 17:43:44 +00:00
Oliver Woodman
a879819dd3
Force callers into MediaCodecUtil to catch any exceptions that occur.
...
Issue: #217
Issue: #228
2015-01-12 17:40:55 +00:00
ojw28
869ecbfcf3
Merge pull request #225 from google/dev
...
dev -> dev-hls
2015-01-02 17:38:59 +00:00
Oliver Woodman
d906e405a1
Propagate AudioTrack errors.
2015-01-02 17:35:57 +00:00
ojw28
f745be8978
Merge pull request #219 from google/dev
...
Include gradle plugin 1.0.0
2014-12-23 10:53:58 +00:00
ojw28
a96a7fe782
Merge pull request #218 from google/master
...
Include gradle plugin 1.0.0
2014-12-23 10:53:29 +00:00
Sebastian Roth
e4ea9c1056
Include gradle plugin 1.0.0
2014-12-22 10:34:46 +08:00
Oliver Woodman
ea21eba87e
Allow re-enabling video track without transition through buffering state.
2014-12-19 12:10:16 +00:00
ojw28
83e80f98fb
Merge pull request #207 from google/dev
...
dev -> dev-hls
2014-12-17 19:25:12 +00:00
Oliver Woodman
ee823a95fc
Add launcher icon source.
2014-12-17 19:22:52 +00:00
Oliver Woodman
48540c2ba0
Add icon for demo app.
2014-12-17 19:19:39 +00:00
Oliver Woodman
39c07d570c
Adapt HLS on non-adaptive devices.
...
This just brings HLS treatment in the demo app in line with
DASH and SmoothStreaming.
2014-12-15 15:30:21 +00:00
ojw28
1face38709
Merge pull request #204 from google/dev
...
dev -> dev-hls
2014-12-15 15:12:21 +00:00
Oliver Woodman
57068a6406
Clear subtitle when text disabled.
2014-12-15 15:06:05 +00:00
Oliver Woodman
57faa49756
Fix crash running ExoPlayer demo on JB. My bad!
...
- We can't refer to UnsupportedSchemeException outside of the
V18 compat inner classes.
- There were also a few missing return; calls.
2014-12-15 15:05:06 +00:00
Oliver Woodman
11eb1c222b
Identify AC-3 tracks by codecs="ac-3", not the MIME type.
2014-12-15 15:04:38 +00:00
Oliver Woodman
0cb8169323
Merge branch 'dev-hls' into dev
2014-12-12 14:23:43 +00:00
Oliver Woodman
5a3340d638
Add initial AC3 passthrough support.
2014-12-12 14:18:54 +00:00
Oliver Woodman
9d4e177347
Support DASH Live TTML subtitles.
...
Also add missing file.
2014-12-12 14:12:00 +00:00
Oliver Woodman
ae55b12bd8
Don't require samples to specify whether they're encrypted.
...
This wasn't actually used for anything other than showing a
toast, which is now generated based on the manifest instead.
2014-12-12 14:05:45 +00:00
Oliver Woodman
099bbe048f
Correctly handle audio and video only DASH streams.
2014-12-12 14:02:14 +00:00
Oliver Woodman
3e33fddbc1
Correctly handle audio-only SmoothStreaming streams.
2014-12-12 13:59:45 +00:00
ojw28
035671b722
Merge pull request #198 from google/dev
...
dev -> dev-hls
2014-12-10 14:08:10 +00:00
Oliver Woodman
86b2209ad0
Bump version to 1.1.0.
...
Also update gradle files.
2014-12-10 14:04:58 +00:00
ojw28
1344b36da9
Merge pull request #194 from google/dev
...
dev -> dev-hls
2014-12-08 20:17:17 +00:00
Oliver Woodman
cf80c4d9cb
Allow passing of optional parameters in MediaDrm key requests.
2014-12-08 20:12:04 +00:00
Oliver Woodman
3d775c1641
Use C constants + minor cleanup.
2014-12-03 18:50:31 +00:00
Oliver Woodman
511dd9435a
Merge branch 'dev' into dev-hls
2014-12-03 18:48:20 +00:00
Oliver Woodman
4efc0abde9
Implement DASH Live.
...
Note: This adds support for the majority of DASH live streams,
however we do not yet correctly support live streams that rely
on UtcTimingElements in their manifests.
Issue: #52
2014-12-03 18:45:13 +00:00
Oliver Woodman
40f3172237
HLS: More control over buffering + tweak caption impl.
...
- Move all three buffering constants to a single class (the
chunk source).
- Increase the target buffer to 40s for increased robustness
against temporary network blips.
- Make values configurable via the chunk source constructor.
- Treat captions as a text track for HLS. This allows them to
be enabled/disabled through the demo app UI.
Issue: #165
2014-11-26 17:21:41 +00:00
Oliver Woodman
8e2801ce9b
Improve HLS ABR.
...
- Add options to switch abruptly at segment boundaries. Third
parties who guarantee keyframes at the start of segments will
want this, because it makes switching more efficient and hence
rebuffering less likely.
- Switch quality faster when performing a splicing switch (when
we detect that we need to switch variant, we now immediately
request the same segment as we did last time for the new variant,
rather than requesting one more segment for the old variant
before doing this.
2014-11-26 12:08:46 +00:00
Oliver Woodman
410fcdeb87
Merge HLS playlist parsers, make a single parser identify the
...
playlist type (master or media).
Issue: #155
2014-11-26 12:01:36 +00:00
ojw28
52b95c1f83
Merge pull request #166 from google/dev
...
dev -> dev-hls
2014-11-21 00:32:12 +00:00
Andrew Shu
9658534b93
demo: compileSdkVersion 21 (was 19)
2014-11-20 15:54:48 -08:00
Andrew Shu
f7589ceee2
gradle: fix demo build.gradle
2014-11-20 12:18:35 -08:00
Oliver Woodman
826c73a16b
Fix renderer count.
...
Issue: #153
2014-11-19 16:06:33 +00:00
Oliver Woodman
4280511a33
Seamless splicing for adaptive HLS.
2014-11-19 10:34:49 +00:00
ojw28
87d0be252e
Merge pull request #149 from google/dev
...
dev -> dev-hls
2014-11-19 10:10:53 +00:00
Andrey Udovenko
15d3df6a58
Add EIA-608 (CEA-608) Closed Captioning support for HLS #68
2014-11-18 14:48:40 -05:00
Andrey Udovenko
3abcefa00c
Add EXT-X-BYTERANGE support #139
2014-11-18 14:05:34 -05:00
Oliver Woodman
bc303b730a
Factor out AudioTrack from MediaCodecAudioTrackRenderer.
...
AudioTrack contains the portions of MediaCodecAudioTrackRenderer that handle the
platform AudioTrack instance, including synchronization (playback position
smoothing), non-blocking writes and releasing.
This refactoring should not affect the behavior of audio playback, and is in
preparation for adding an Ac3PassthroughAudioTrackRenderer that will use the
AudioTrack.
2014-11-18 19:04:14 +00:00
Oliver Woodman
fd51901620
Big HLS update. Add start of adaptive support, but leave disabled for now.
2014-11-13 16:32:10 +00:00
ojw28
0005f41fe9
Merge pull request #138 from google/dev
...
dev -> dev-hls
2014-11-13 16:20:13 +00:00
Oliver Woodman
cb06845976
Minor linebreak fixes
2014-11-13 16:16:02 +00:00
Oliver Woodman
2d97d31a9e
Add ability to make fine-grained frame release timestamp adjustments
2014-11-13 16:11:52 +00:00
ojw28
7b5c4d705f
Merge pull request #131 from google/dev-l
...
Merge dev-l into dev-hls, now L SDK is released.
2014-11-10 08:49:20 +00:00
ojw28
e6c7e29647
Merge pull request #121 from google/dev
...
dev -> dev-l
2014-11-05 17:15:39 +00:00
Andrey Udovenko
71f918c01b
ID3 refactoring to match apple's player behavior #67
2014-11-05 11:54:45 -05:00
Andrey Udovenko
b946ad9234
Specify UserAgent for ManifestFetcher in HlsRendererBuilder.
2014-11-04 14:24:13 -05:00
Andrey Udovenko
c781fcd13d
Merge pull request #117 from google/dev
...
Add cookies support and use the same UserAgent in ManifestFetcher and in...
2014-11-04 14:20:36 -05:00
Andrey Udovenko
712e46085d
Add cookies support and use the same UserAgent in ManifestFetcher and in HttpDataSource.
2014-11-04 14:06:37 -05:00
Andrey Udovenko
a76addba5d
Add AES-128 encryption support for HLS #69 and parsing logic for CODECS and RESOLUTION attributes.
2014-11-04 13:38:22 -05:00
ojw28
38375670a6
Merge pull request #115 from google/dev
...
Use largeHeap in demo app
2014-11-03 15:58:30 +00:00
ojw28
a21c9ebc31
Merge pull request #114 from google/dev
...
Use largeHeap in demo app
2014-11-03 15:56:55 +00:00
Oliver Woodman
dedbd5367f
Use largeHeap in demo app
2014-11-03 15:54:58 +00:00
ojw28
059835e357
Merge pull request #113 from google/dev
...
dev -> dev-l
2014-11-03 12:21:45 +00:00
ojw28
f4a5cd637f
Merge pull request #112 from google/dev
...
dev -> dev-hls
2014-11-03 12:21:04 +00:00
Oliver Woodman
deb7f2badd
Add AAC test stream.
2014-11-03 12:06:35 +00:00
ojw28
d71b9b7ca1
Merge pull request #100 from google/dev
...
dev -> dev-l
2014-10-28 19:30:00 +00:00
ojw28
b6bbf50c0e
Merge pull request #99 from google/dev
...
dev -> dev-hls
2014-10-28 19:29:29 +00:00
Oliver Woodman
11cbe2819e
Clean up project files.
2014-10-28 17:55:21 +00:00
Andrey Udovenko
d3a05c9a44
Add ID3 Timed Metadata support for HLS #67
2014-10-28 13:24:12 -04:00
Oliver Woodman
ca31010028
Add HLS support to simple variant of demo app. Plus cleanup.
2014-10-28 14:25:12 +00:00
ojw28
dd2921f9b2
Merge pull request #97 from google/dev
...
dev
2014-10-28 14:19:18 +00:00
ojw28
3bee259de9
Merge pull request #96 from google/dev
...
dev -> dev-hls
2014-10-28 14:18:56 +00:00
Oliver Woodman
552db2fa7c
Avoid spurious preparing->idle->preparing transition in demo app.
...
Issue #81
2014-10-28 14:15:52 +00:00
Oliver Woodman
b5c4148f8f
Use UriDataSource in demo app.
2014-10-27 11:20:39 +00:00
ojw28
d2e480f01b
Merge pull request #75 from google/dev
...
Merge dev -> dev-hls
2014-10-09 17:31:36 +01:00
ojw28
989bbef24e
Merge pull request #74 from google/dev
...
Merge dev -> dev-l
2014-10-09 17:31:05 +01:00
Oliver Woodman
027d9eefbd
Smoother playback #1 .
...
Propagate elapsedRealtimeUs to the video renderer. This allows
the renderer to calculate and adjust for the elapsed time since
the start of the current rendering loop. Typically this is <2ms,
but there situations where it can go higher (normally when the
video renderer ends up processing more than 1 output buffer in
a single loop).
Also made variable naming more consistent throughout the package.
2014-10-09 17:26:01 +01:00
Andrey Udovenko
d64036c5ed
Add basic HLS support (VOD and Live) with EXT-X-DISCONTINUITY.
2014-10-01 17:03:07 -04:00
ojw28
9cfe5fcf44
API level 21 enhancements for ExoPlayer playbacks.
...
- Use native frame release timing in video renderer for
smoother video playback.
- Avoid unnecessary memory copy steps in audio renderer.
- Use non-blocking AudioTrack API.
2014-09-25 20:29:44 +01:00
ojw28
dd30632aa1
SmoothStreaming Live support.
...
Issue: #12
2014-09-25 20:16:30 +01:00
Oliver Woodman
da125bb5cc
Merge DashLiveMpdFetcher logic into generic ManifestFetcher.
...
This allows ManifestFetcher to both execute the initial
manifest load and be plugged into an ExoPlayer ChunkSource,
where it can be used for repeated manfiest refreshes during
live playback.
2014-09-23 11:17:36 +01:00
Oliver Woodman
ec90eac301
Support anamorphic video content.
2014-09-11 16:34:35 +01:00
Oliver Woodman
6c3ae7f175
Add SubtitleView and CaptionStyleCompat to ExoPlayer.
2014-09-11 16:30:39 +01:00
Oliver Woodman
e4b35e884a
Transition ExoPlayer to use longs for ms timestamps.
2014-09-11 16:26:43 +01:00
Oliver Woodman
bf5ee6ff23
1. Parse live attributes from SmoothStreaming manifest.
...
2. Common interface for manifest parsers.
- This effectively moves the common interface from the Fetcher level
(i.e. ManifestFetcher) to the Parser level (i.e. ManifestParser).
- The motivation here is to allow the implementation of components that
can work with a generic ManifestParser implementation.
2014-09-11 16:22:01 +01:00
Oliver Woodman
6e9ba9ba47
Bump version to 1.0.13.
2014-09-08 11:38:20 +01:00
Oliver Woodman
52a300f1fd
Merge fMP4/H264 and WebM/VP9 DASH implementations.
2014-09-08 11:33:12 +01:00
Oliver Woodman
5059690a7a
Add https->http redirect sample video.
2014-09-08 11:30:19 +01:00
Oliver Woodman
cc04fd1e76
Fix the build.
2014-08-14 16:19:30 +01:00
Oliver Woodman
5b9c92cb83
Bump version to 1.0.12.
2014-08-14 15:45:33 +01:00
Oliver Woodman
8ec8840261
Minor cleanup.
...
- Add constants class. Currently housing a single lonely variable,
which is used generally throughout the library, and so no longer
nicely fits into a specific class.
- Rename a few other constants to add clear units.
- Made minor tweak to ExoPlayer documentation.
2014-08-11 18:38:39 +01:00
Oliver Woodman
ad26085e5c
Finish painful bytes/sec -> bits/sec conversion.
2014-08-01 15:51:21 +01:00
Oliver Woodman
62d17cabf0
Add support for SegmentTemplate and SegmentList mpds.
...
Misc Notes:
- Removed content type filters because some of third parties
don't set content type.
2014-07-18 14:30:30 +01:00
Oliver Woodman
87461821fe
Define DashSegmentIndex wrapper.
...
This paves the way for SegmentTemplate and SegmentList based
mpds, which will implement DashSegmentIndex directly rather than
parsing an index from the media stream.
- Define DashSegmentIndex.
- Make use of DashSegmentIndex in chunk sources.
- Define an implementation of DashSegmentIndex that wraps a SegmentIndex.
- Add method that will allow Representations to return a DashSegmentIndex
directly in the future.
- Add support for non-contiguous index and initialization data in media streams.
For the Webm case this isn't enabled yet due to extractor limitations.
- Removed ability to fetch multiple chunks. This functionality does not extend
properly to SegmentList and SegmentTemplate variants of DASH.
2014-07-17 11:28:05 +01:00
Oliver Woodman
b398c594fa
Fix minSdkVersion for demo app
2014-07-07 14:41:45 +01:00
Oliver Woodman
4fd4c89518
Refactored ExoPlayer to use String-based format ids.
2014-07-04 01:04:10 +01:00
Oliver Woodman
273fad845e
Fix verify error running on JellyBean #2 .
2014-06-24 14:05:59 -07:00
Oliver Woodman
1482dde4a9
Fix verify error running on JellyBean. Add link to Javadoc
2014-06-24 13:49:19 -07:00
Oliver Woodman
27ab5c83a6
Initial drop. 1.0.10.
2014-06-16 12:56:04 +01:00