2154 Commits

Author SHA1 Message Date
olly
a9aca8dbf0 Split SmoothStreaming into a separate module
Issue: #2139

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150634794
2017-03-22 18:58:40 +00:00
olly
58ac572024 Tell Moe about new UI module + update external settings.gradle
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150625313
2017-03-22 18:55:23 +00:00
olly
7b08e972e4 Split UI components into separate module
Issue: #2139

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150623215
2017-03-22 18:54:16 +00:00
olly
de6e47f7e6 Fix skipping to keyframe to use correct position
Issue: #2575

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150622487
2017-03-22 18:53:04 +00:00
olly
f9767940cc Fix misc issues
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150610549
2017-03-22 18:50:45 +00:00
olly
ce55d1a712 Modularize ExoPlayer steps 1 + 2.
1. Move entire library from v2/library/ to v2/library/core
2. Add v2/library/all that depends on v2/library/core

Issue: #2139

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150455693
2017-03-22 18:49:30 +00:00
olly
f2de393d83 Correctly handle stream replacement in text renderer
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150436867
2017-03-22 18:47:45 +00:00
olly
c8059e5969 Update release notes + bump versions
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150358346
2017-03-17 12:17:41 +00:00
olly
b98de975f1 Make Util.inferContentType marginally smarter
Issue: #2513

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150310349
2017-03-16 16:16:20 +00:00
olly
9b0d24c909 Fix stuck-buffering state when playing merged media
Also added a TODO to track clarifying SequenceableLoader
more accurately and auditing existing implementations.

Issue: #2396

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150305685
2017-03-16 16:14:08 +00:00
aquilescanta
ce5c0c18f9 Rename AdaptiveVideoTrackSelection to AdaptiveTrackSelection
This will allow us to use the same class for Audio adaptation.

Issue:#1975

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150302561
2017-03-16 16:13:03 +00:00
adrianv
cadce0ef3f Add @Nullable annotation for an optional field in CacheDataSource's constructor.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150278031
2017-03-16 16:11:49 +00:00
aquilescanta
7c9b771ec8 Create HlsMediaSource.Manifest to hold playlist information
This allows the user to get the HlsMasterPlaylist through
Exoplayer.getCurrentManifest().

Issue:#2537

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150232455
2017-03-16 16:09:46 +00:00
eguven
76c9968211 Add RepresentationKey and DashManifest copy method
RepresentationKey defines a representation location in a DashManifest.
DashManifest copy method creates a copy of the manifest which includes
only the representations pointed by the given RepresentationKeys.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150195990
2017-03-15 18:50:07 +00:00
eguven
f092c4446f Move TestUtil.createTempFolder and TestUtil.recursiveDelete to Util class
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150190520
2017-03-15 15:55:39 +00:00
olly
d6db5066cd Improve publishing to Bintray
- Update bintray-release version
- Publish to exoplayer-test unless -PpublicRepo=true
- Publish GVR extension
- Minimize duplication with new publish.gradle

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150185740
2017-03-15 15:54:43 +00:00
olly
a9617af29c Use fast surface switching on API level 23+ when possible
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150185483
2017-03-15 15:53:38 +00:00
aquilescanta
7c5f0b7d3b Make Video track selections before others
This will allow us to make a single adaptive selection prioritizing
video selections.

Issue:#1975

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150185086
2017-03-15 15:52:30 +00:00
olly
db5f81ecfd Allow disabling ID3 metadata parsing if not required
Issue: #2553

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150184824
2017-03-15 15:51:23 +00:00
olly
d077e23daa Improve DefaultExtractorInput's peek buffer sizing.
- Don't resize the peek buffer to be twice as large as a
  large amount!
- Trim the peek buffer, to allow large peek buffer allocations
  to be reclaimed.

Issue: #2553

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150184291
2017-03-15 15:50:17 +00:00
aquilescanta
7c587c6b82 Prevent playlist loading if refresh is already scheduled
This greatly reduces the amount of server requests issued by
the playlist tracker.

Issue:#2548

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150055046
2017-03-15 15:45:50 +00:00
olly
204537ed40 Pre-modularization cleanup
- Use a variable for the (default) minSdkVersion. There will
  be more modules that need it, and it'll be easier to manage
  if it's in one place.

Issue: #2139

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150050663
2017-03-15 15:44:46 +00:00
Oliver Woodman
139252c9d3 Propagate defaultRequestProperties + make getDefaultRequestProperties final 2017-03-13 16:25:44 +00:00
olly
3131074338 Upgrade dependencies
Issue: #2516

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149942409
2017-03-13 15:54:10 +00:00
bachinger
aede0f894d Propagate updates of default header fields of the HttpDataSource.BaseFactory to HttpDataSource instances.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149780233
2017-03-13 15:54:10 +00:00
aquilescanta
952bde700b Ensure only timestamp adjustment masters set first sample timestamps
Without this, it is possible that a non timestamp master instances
the adjuster with its own chunk start time. When chunks are not
aligned, this breaks adjustment.

Issue:#2424

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149764488
2017-03-13 15:54:10 +00:00
ojw28
6d61519421 Merge pull request #2547 from LiveLike/program-date-time-regex
Support comma separators in ISO-8601 date/time format for milliseconds
2017-03-13 10:00:35 +00:00
Ben Wilber
578b9545f0 Support commas in ISO-8601 date/time format for millis 2017-03-10 16:09:58 -05:00
eguven
f21cdcb9c5 Allow null DataSink.Factory in CacheDataSourceFactory
CacheDataSource allows null DataSink. Do the same in CacheDataSourceFactory.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149750696
2017-03-10 14:24:43 +00:00
aquilescanta
cb0187959c Fix NPE in HLS playback of non-muxed streams
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149749504
2017-03-10 14:24:43 +00:00
cdrolle
0cb9802e1b Fixed CEA-708 issues
Caption characters weren't being assigned to the correct window and the lack of
pen location support was causing multiple lines (and words) to be concatenated.

As per the CEA-708-B specification, section 8.10.5, when we encounter a DefineWindow
command, we're also supposed to update the current window to the newly defined one.
We were not doing this previously, resulting in text that should have been in separate
windows being combined into one. Furthermore, some content uses the SetPenLocation
command to move the cursor down a line instead of appending a new line. As we don't
currently support SetPenLocation, this resulted in multiple lines (and words) being
concatenated together, potentially causing the text to extend past the edge of the
window/screen. This change implements a workaround (until SetPenLocation is properly
supported) for this issue in which setting the pen location to a new row will append
a new-line to that window.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149679613
2017-03-10 14:24:43 +00:00
cdrolle
b84c84cc76 Fixed CEA-708 issue where cues weren't updated at the appropriate times
As per the CEA-708-B specification, section 8.10.4, cues don't necessarily
need either an ETX command or any of the C1 commands before being updated
with the latest buffered content. While those commands do indicate that the
cues should be updated immediately, the cues can also be updated after a
service block has been processed if it appended text to the buffer.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149673162
2017-03-10 14:24:43 +00:00
eguven
b6773dba05 Add PriorityDataSourceFactory
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149543747
2017-03-10 14:24:43 +00:00
aquilescanta
3be4451e13 Allow injection of DataSource's per type of data
This allows the client to define what data source is used for
media chunks, encryption chunks and playlists.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149537766
2017-03-10 14:24:43 +00:00
eguven
78e7c3c510 Make CacheDataSourceFactory createDataSource return specific type
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149533820
2017-03-10 14:24:43 +00:00
olly
45c7fe9b00 Drain embedded track sample queues when not enabled.
I think it's likely we'll revert back to discarding media
in sync with the playback position for ExtractorMediaSource
and HlsMediaSource too, where the tracks are muxed with ones
we're requesting anyway.

Note: discardBuffer is named as it is because it'll also be
used to discard for enabled tracks soon, as a result of the
remaining TODO in ChunkSampleStream. For enabled tracks the
discard will also be conditional on the samples having been
consumed, obviously.

Issue: #2362
Issue: #2176

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149525857
2017-03-10 14:24:43 +00:00
olly
09471defd7 Enabled EMSG and CEA-608 embedded streams for DASH
Issue: #2362
Issue: #2176

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149524412
2017-03-10 14:24:43 +00:00
andrewlewis
99e19a92af Fix SampleStream javadoc.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149431794
2017-03-10 14:24:43 +00:00
aquilescanta
e7462f05f5 Add maxVideoBitrate to DefaultTrackSelector.Parameters
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149097876
2017-03-10 14:24:43 +00:00
aquilescanta
8e9711e8aa Allow packed audio without PRIV timestamps
We use the segments' start time when the timestmap is not present.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149006252
2017-03-10 14:24:43 +00:00
eguven
e40bba2852 Add Cache.getCachedBytes() which returns the length of the cached or not data block length
This method can be used to determine not cached parts of a content.
The 'length' parameter allows quicker responses without going through all adjacent spans.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149005688
2017-03-10 14:24:43 +00:00
aquilescanta
247da48e9d Make ElementaryStreamReader's public
This allows building a TsPayloadReader.Factory without
having to wrap the default one.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149004102
2017-03-10 14:24:43 +00:00
sxp
0dee4aec70 Deprecate instead of delete BaseRender.readSource(FormatHolder, DecoderInputBuffer)
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148808381
2017-03-10 14:24:43 +00:00
mofneko
5b0192a3dd Update HlsPlaylistTracker.java
Fix unused variable.
2017-03-08 03:20:34 +09:00
andrewlewis
a9079f67aa Fix some documentation nits.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148776593
2017-02-28 17:37:44 +00:00
olly
ab8fd14724 Support multiple track outputs from BaseMediaChunk
Issue: #2362
Issue: #2176

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148764237
2017-02-28 17:36:45 +00:00
andrewlewis
d58008eeb7 Rename BufferProcessor to AudioProcessor.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148763781
2017-02-28 17:35:35 +00:00
olly
91639b26cd Add some pipelining in MetadataRenderer
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148760782
2017-02-28 17:34:29 +00:00
andrewlewis
b3cfeaa17b Discard extra silent channels on Samsung Galaxy S6/S7.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148654495
2017-02-28 13:47:18 +00:00
eguven
2411d0fc76 Move and rename PRIORITY_PLAYBACK to C constants class
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=148651265
2017-02-28 13:47:18 +00:00