Commit graph

1853 commits

Author SHA1 Message Date
andrewlewis
f45751872d Move track sample index updates out of getPosition(long).
This requires knowing the seek time in Extractor.seek, so that it's possible to
pick the latest synchronization sample at/before the seek time for each track
(rather than the earliest synchronization sample after the seek position).

Also remove the STATE_AFTER_SEEK state which should no longer be needed.

Issue: #2167

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141432598
2016-12-12 16:15:38 +00:00
aquilescanta
2fce364936 Ignore Splice Info in HLS TS media chunks
Issue:#2070

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141335458
2016-12-12 16:15:38 +00:00
olly
1518927e12 Fix seeking backward from end of last period.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141299172
2016-12-12 16:15:38 +00:00
aquilescanta
1cbc0fc678 Allow HlsPlaylistTracker to change the primaryHlsUrl
When the primary url is blacklisted (due to a 404, for example) or
the selected variant is different from primary url, allow the tracker
to change the url.

Issue:#87

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141291435
2016-12-12 16:15:38 +00:00
WeiChungChang
63966a3736 Fix the issue when the sequence of PTS is out of order by bidirectional prediction for skipToKeyframeBefore() 2016-12-12 20:34:09 +08:00
aquilescanta
a66b4a9bad Parse ID3 sample timestamp for HLS audio chunks
Pending improvement:

* Peek just the required priv frame. Avoid decoding all id3 information.
* Sniff the used container format instead of using the extension.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141181781
2016-12-06 20:06:37 +00:00
olly
e5bc00ea94 Fix DataSourceInputStream + add unit test
Issue: #2162

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141177715
2016-12-06 20:06:04 +00:00
olly
4db6f1e495 Expose whether decoders support tunneling
This is a first step toward supporting tunneled playback

Issue: #1688

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141167501
2016-12-06 20:04:44 +00:00
olly
99957bbae7 Correctly handle dynamic playlist modifications
- Fix bug where we'd try and call replaceStream having already
  notified the renderer that the current stream is final. This
  could occur if a period was added to the end of the playlist.
- If the current period being played is removed and a new period
  to play cannot be resolved, assume we've gone off the end of
  the playlist and transition to the ended state. This allows
  the current source to be re-used (unlike the previous behavior
  of considering it an error). Treat valid seeks that cannot be
  resolved due to concurrent timeline update similarly.
- Add seek sanity check back to ExoPlayerImpl. Meh. It's probably
  best to keep this, since it stops the exposed window index
  being invalid w.r.t the exposed timeline.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141167151
2016-12-06 20:04:01 +00:00
olly
9ea8b02083 Correctly handle reading of an empty string without a terminating NUL byte
Issue: #2152

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141159330
2016-12-06 20:03:21 +00:00
olly
e86bfd6dbe Improvements for 608 positioning
- Infer likely left/center/right alignment for pop-on captions.
  This makes the rendering much better in practice, particularly
  when the captions were intended to be center aligned.
- Fix line anchoring.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141156222
2016-12-06 20:02:42 +00:00
cdrolle
88c0695bd0 Added safe-area adjustment (i.e. padding) to CEA-608 captions and fixed minor issue with rollup.
CEA-608 specifies a "safe-area" in which the captions should be rendered. This change adjusts all of the cue positions so they are within that safe area. It also fixes a minor issue in which roll up captions would drift towards the last row if a preamble address code had the "next row toggle" bit set.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141077433
2016-12-06 20:01:57 +00:00
aquilescanta
931670957f Add support for multiple table sections in PSI section
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141073182
2016-12-06 20:01:13 +00:00
olly
db215ff156 Make invalid seek positions fail on playback thread only
Seeks are permitted when there's no timeline, and in this
case playback necessarily fails on the playback thread when
the timeline becomes known. Pushing failure to the same
place when the timeline is known means there's only one
failure path for this case. A later CL will likely introduce
an InvalidSeekPositionException for this case.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141037708
2016-12-06 20:00:24 +00:00
olly
88fc682dde Expose manual playback control hiding from SimpleExoPlayerView
Issue #2146

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141036866
2016-12-06 19:59:41 +00:00
andrewlewis
01acc0e201 Remove unnecessary final.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=141031900
2016-12-06 19:58:56 +00:00
drhill
cc24c4e38b change to switch to avoid changing 4.0 tracks 2016-12-06 08:08:58 -05:00
Oliver Woodman
fda2d143e4 CEA 608 bugfix 2016-12-02 19:48:59 +00:00
Oliver Woodman
421dab433a Restore accidentally clobbered SimpleExoPlayerView change 2016-12-02 19:47:50 +00:00
Oliver Woodman
d6d59ef07e Restore accidentally clobbered MKV change 2016-12-02 19:42:54 +00:00
olly
bbbd61e319 Skip negative SubRip timecodes
Issue: #2145

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140868079
2016-12-02 19:37:14 +00:00
andrewlewis
e0649db513 Handle input format changes in SimpleDecoderAudioRenderer.
This is implemented in the same way as in MediaCodecRenderer.

Move codec != null guard into feedInputBuffer to handle the case of an input
format change with no dequeued buffers where the codec can't be reinitialized
immediately.

Issue: #2111

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140864942
2016-12-02 19:35:09 +00:00
eguven
7ea16a6ae2 Remove unused parameter
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140847027
2016-12-02 19:29:36 +00:00
andrewlewis
164b406e23 Clean up loading period update.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140843106
2016-12-02 19:26:30 +00:00
andrewlewis
45bc4a0374 Pass player and isTopLevelSource to MediaSource.prepareSource.
These additions are useful for sources that need to track the playback position
and control playback.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140828310
2016-12-02 19:23:35 +00:00
Oliver Woodman
0a52e823de Use constant for MPEG max frame size 2016-12-02 16:29:11 +00:00
ojw28
b5437907cf Merge pull request #2135 from drhill/dev-v2_mp2
add mp2 audio
2016-12-02 16:28:35 +00:00
Oliver Woodman
a7736e101f Merge branch 'dev-v2_subtitles_view' of git://github.com/drhill/ExoPlayer into drhill-dev-v2_subtitles_view 2016-12-02 16:27:29 +00:00
Drew Hill
e22c42c7c2 requested changes for simplicity 2016-12-01 19:30:27 -05:00
Drew Hill
3884641464 switch to proper mimetype 2016-12-01 16:41:23 -05:00
Drew Hill
8fcc8c63ef change to getview call instead of set property 2016-12-01 16:25:49 -05:00
Oliver Woodman
e803bff2b1 Don't log FileNotFoundException while reading cache index file 2016-12-01 19:29:07 +00:00
Oliver Woodman
0cc874dd01 Fix indentation 2016-12-01 18:35:14 +00:00
Oliver Woodman
a6ccedf741 Merge branch 'eia-608-improvements' of git://github.com/RikHeijdens/ExoPlayer into RikHeijdens-eia-608-improvements 2016-12-01 18:31:39 +00:00
Oliver Woodman
7a18738dfa Clean up AudioTagPayloadReader 2016-12-01 17:25:08 +00:00
Greg Slomin
2d1f151cb9 Added support for PCM u/a-law audio in FLV containers 2016-12-01 10:32:55 -06:00
olly
53dcb82862 Merge pull request #2131
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140720011
2016-12-01 13:47:32 +00:00
eguven
f3dbb74613 Fix unnecessary rewrite of cache index file after CachedContentIndex.readFile()
Prevented readFile() setting "changed" boolean to true every time. It's set only if encryption key is set but the index file isn't encrypted.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140714173
2016-12-01 13:46:52 +00:00
Drew Hill
214c55b665 add function to change subtitles style 2016-11-30 19:44:47 -05:00
Drew Hill
db4b478cc0 fix 6.1 channel passthrough failing 2016-11-30 18:47:36 -05:00
Drew Hill
0752f790c7 add mp2 audio 2016-11-30 18:42:13 -05:00
olly
836cefcdd6 Remove CC validity checks in SeiReader (now performed in decoder)
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140642357
2016-11-30 22:05:27 +00:00
olly
195a93e5af Fix playback control focus
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140623107
2016-11-30 22:04:18 +00:00
andrewlewis
8dc8104059 Load the next period only if its start point is known.
If a period has no enabled tracks it is considered to be fully buffered, even
if its duration is unknown. This would cause the offset of the next loading
period to be set based on the unset duration of the preceding period, in turn
causing the from of the player to expose a position based on an unset value.

Only load the next period when the current one has a known duration. If a
period has no enabled tracks and an unknown duration this causes the player to
play the period indefinitely.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140613858
2016-11-30 22:03:36 +00:00
olly
45c68a2fd5 Use separate mimeType for CEA-608 embedded in MP4
When CEA-608 is embedded in MP4 each packet consists of
cc_data_1 and cc_data_2 only. The marker_bits, cc_valid
and cc_type are implicit. As a result playback of CEA-608
embedded in MP4 broke when we started passing the extra
byte for the TS case (and adjusted the decoder to assume
the byte was present).

This change introduces a special mimeType for the case
where the byte is implicit (!). An alternative option
was to insert the extra byte every 2 bytes in the MP4
extractor, but this is really quite fiddly to get right.

Also made the loops in the 608/708 decoders robust against
input of the wrong length.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140609304
2016-11-30 22:02:55 +00:00
aquilescanta
f702568776 Skip tables with unexpected table_id for PAT and PMT readers
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140606435
2016-11-30 22:02:16 +00:00
eguven
257671467f Fix possible failure in CachedContentIndex encrypted cache index file read.
Encryption key in index file is read by DataInputStream.read() which may return less bytes than required. Replaced it with readFully() which should read full length of data.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140597693
2016-11-30 22:01:00 +00:00
aquilescanta
501f54a8a6 Add #EXT-X-PROGRAM-DATE-TIME support for HLS media playlists
Issue:#747

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140525595
2016-11-30 22:00:17 +00:00
olly
91c58627be Fix lint errors
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140488486
2016-11-30 21:59:32 +00:00
olly
7bbe213e57 Add option to select track that exceeds renderer capabilities
Leaving disabled by default for now, but we may want to consider
enabling it by default. Note that in V1 for ExtractorSampleSource
the behaviour was equivalent to this option being enabled, since
we didn't perform capabilities checks. For DASH/SS/HLS the V1
behaviour was equivalent to this option being disabled.

The type in PlayerActivity has been changed just to make it
easier to add a line that calls setParameters.

Issue: #2034
Issue: #2007
Issue: #2078

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140477568
2016-11-30 21:58:13 +00:00
cdrolle
2753664c6b Fixed an error in the date and time parser's handling of time zones.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140400905
2016-11-30 21:57:29 +00:00
olly
73220be19b drainOutputBuffer return false on EOS
I can't see how this would ever make a difference, but there's no
point in returning true. Either we've really reached EOS (in which
case outputStreamEnded will be true and the next drainOutputBuffer
will be turned into a no-op) or we've re-initialized the codec (in
which case there wont be anything to drain since we wont have fed
anything to the codec yet).

This change should also prevent the hypothetical NPE described in
issue #2096, although we're unsure how that NPE would occur unless
MediaCodecRenderer has been extended in an unusual way.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140338581
2016-11-30 21:55:25 +00:00
aquilescanta
c3c176d93c Move HLS extractor construction to HlsMediaChunk
This allows ID3 PRIV timestamp extraction and Extractor Sniffing.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140209568
2016-11-25 20:18:32 +00:00
olly
2e3ffe1e94 Assume support for vertical video if rotated resolution supported
Issue: #2034

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140209306
2016-11-25 20:18:32 +00:00
olly
ee9b7be2fa Fix issue with seeking before timeline available
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140204054
2016-11-25 20:18:32 +00:00
andrewlewis
76c58a34d3 Clarify createPeriod javadoc.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140202942
2016-11-25 20:18:32 +00:00
aquilescanta
9c612f94c5 Chose timestamp adjustment master based on track selection
Select the timestamp master depending on track availability. If
a variant is being loaded, then that is the timestmap master.
Otherwise, if an audio track is being loaded, then the responsible
chunk source is the timestmap master. If no variant or audio
rendition is enabled, then a subtitle chunk source is selected as
timestamp master. This CL will become specially relevant once
ID3 PRIV timestamps are used for audio renditions.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140201385
2016-11-25 20:18:32 +00:00
olly
ce9ec79e59 Make Timeline always non-null from ExoPlayer
Note that we still have null timelines in ExoPlayerImplInternal.
This is deliberate; and is likely necessary to distinguish between
the no-timeline-yet and timeline-is-empty cases (we want to try
and process a pending seek for the latter, but not the former).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140200980
2016-11-25 20:18:32 +00:00
aquilescanta
97a23ce572 Fix main thread playlist refreshes in HlsPlaylistTracker
The refresh handler in HlsPlaylistTracker was being instantiated in the
same thread as the MediaSource (i.e. Main thread).

Issue:#2108

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140197553
2016-11-25 20:18:32 +00:00
olly
894ae1a310 Improve SimpleExoPlayer flexibility
- Allow extension and overriding of renderer creation.
  Several developers have asked for this, so that they
  can use their own renderers (typically extensions to
  the core ones) without losing the ability to use
  SimpleExoPlayer.
- Add option to not attempt extension renderer creation,
  for efficiency.
- Align build variants for internal and external demo
  apps. This is slightly unfortunate, but convergence
  seems necessary for useExtensionRenderers.
- Fix DASH playback tests to use the debug video
  renderer.

Issue #2102

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140140915
2016-11-25 20:18:32 +00:00
olly
62bdb1b93a Fix failure when a seek is performed with no enabled tracks
This issue affects ExtractorMediaSource only. We shouldn't
start loading in the case that we're prepared and have no
enabled tracks, since there's nothing that we need to load.
This was causing an assertion failure in startLoading.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140030650
2016-11-25 20:18:32 +00:00
aquilescanta
a7dff14d3c Keep TS packets with no continuity counter increase and no payload
This behavior is defined in ISO-13818-1, section 2.4.3.3(continuity_counter).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140029161
2016-11-25 20:18:32 +00:00
olly
eb62d00ea4 ExoPlayerImplInternal cleanup
- Fix handling of the currently playing period being
  removed. This didn't do the right thing at all.
- Relax rule on seekToPeriodPosition re-using an
  existing holder.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140014791
2016-11-25 20:18:32 +00:00
olly
b3726cf761 Support DASH multi-segment fetches
Note that multi-segment fetching is only possible in the
case that segments in a representation are defined to have
the same Uri and adjacent ranges (this is very rarely true
for live streams, but is quite often true for on-demand).
In the case that merging is requested but not possible,
the implementation will request one at a time.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140012443
2016-11-25 20:18:32 +00:00
eguven
b29ff0cf51 Make CacheDataSink use ReusableBufferedOutputStream
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=140010664
2016-11-25 20:18:32 +00:00
eguven
fa3d129b14 Fix some of the issues pointed by android lint tool
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139915885
2016-11-25 20:18:32 +00:00
aquilescanta
6101450302 Merge initialization chunk into HlsMediaChunk
This will allow creating the extractor in the HlsMediaChunk.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139915713
2016-11-25 20:18:32 +00:00
aquilescanta
9ac7f64c84 Fix search to end of stream in HLS
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139905590
2016-11-25 20:18:32 +00:00
andrewlewis
77715fbfbe Fix some analysis warnings.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139901449
2016-11-25 20:18:32 +00:00
eguven
e84fa5835d Use ReusableBufferedOutputStream for cache index file write operation
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139889957
2016-11-25 20:18:32 +00:00
olly
42fadfe083 Allow SsMediaSource to take an optional SsManifest
Also allow custom SsManifestParser injection.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139813660
2016-11-25 20:18:32 +00:00
olly
81ce6bba7a Allow DashMediaSource to take an optional DashManifest
Also allow custom DashManifestParser injection, to
support parsing of custom elements and attributes that
service providers may wish to include in their manifests
(e.g. #2058).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139813108
2016-11-25 20:18:32 +00:00
olly
4f3ab7b22d ExoPlayerImplInternal: Some more minor cleanup
- This should be a no-op change
- Inline attemptRestart
- Clean up processing of pending seeks

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139804630
2016-11-21 19:15:13 +00:00
olly
9d7d8adc9c Allow changing of video scaling mode
Issue #2016

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139803888
2016-11-21 19:14:39 +00:00
andrewlewis
ae0ac55b8d Add support for resetting the AudioTrack stream type.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139797714
2016-11-21 19:13:34 +00:00
olly
060ca4aecc ExoPlayerImplInternal cleanup
- Make handleSourceInfoRefreshed clearer.
- Remove bufferAheadPeriodCount. Seems error prone.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139774580
2016-11-21 19:13:02 +00:00
dsantoro
adc9dd1c75 Add null checks to closeQuietly calls.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139738429
2016-11-21 19:12:26 +00:00
ccwu
6dbfdecbe0 Let the mp4 extractor support "camm" metadata tracks.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139626848
2016-11-21 19:11:43 +00:00
olly
4a30dff524 Fix NPE in TextTrackRenderer
Issue: #2081

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139566990
2016-11-18 12:54:36 +00:00
aquilescanta
cafe603694 Allow regressing media sequence numbers in HLS media playlists
This is techically not allowed by the spec[1] but might still occur in
certain scenarios. New playlists with older media sequence numbers are
ignored.

[1]: HLS draft version 20, section-6.2.1

Issue:#2059

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139564889
2016-11-18 12:54:03 +00:00
olly
d890c2f48f Fix infinite loop -> ANR at end of HLS playbacks
continueLoading shouldn't return true unless it's done
something. Always returning true if endOfStream was
causing CompositeSequenceableLoader.continueLoading to
loop forever.

It looks like the same issue exists in ChunkSampleStream
as well, although I can't seem to provoke DASH or SS
playbacks into doing anything bad as a result.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139559834
2016-11-18 12:53:24 +00:00
eguven
35054f8f7c Added ReusableBufferedOutputStream.
ReusableBufferedOutputStream is a subclass of BufferedOutputStream with a reset(OutputStream) that allows an instance to be re-used with another underlying output stream.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139505999
2016-11-18 12:52:46 +00:00
olly
f57434006f Fix potential NPE in ExoPlayerImplInternal
I'll have a more thorough refactor of some of this class
fairly soon!

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139451693
2016-11-18 12:51:22 +00:00
olly
61c9c16954 Make sure we report video size after Surface is set
Issue: #2077

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139451511
2016-11-18 12:50:41 +00:00
eguven
051be5c588 Use buffers to speed up cache index file io.
Use BufferedOutputStream and BufferedInputStream while writing / reading.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139446039
2016-11-18 12:50:04 +00:00
aquilescanta
a8a2ef4a24 Blacklist HLS media playlists that return 4xx error codes
Issue:#87

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139443476
2016-11-18 12:49:24 +00:00
yutingtseng
2add12d5f7 Update CacheDataSink to optionally use a BufferedOutputStream for writing
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139381958
2016-11-18 12:48:41 +00:00
cblay
92d34cd877 Add flag to CacheDataSource to disable caching unset length requests.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139377417
2016-11-18 12:48:09 +00:00
aquilescanta
d6eb9cb79f Allow playlists of different size in HlsPlaylistTracker playlist adjustment
Issue:#2059

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139331670
2016-11-18 12:47:36 +00:00
andrewlewis
0effffb89f Add support for reading .mp3 boxes in stsd.
This is used by Quicktime for MP3 tracks.

Issue: #2066

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139209989
2016-11-18 12:47:02 +00:00
aquilescanta
21e3361dfe Move 3 private methods to the end of the class
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139204000
2016-11-18 12:46:31 +00:00
andrewlewis
348b58021d Move underrun detection into AudioTrack.
This removes duplication from SimpleDecoderAudioRenderer and
MediaCodecAudioRenderer.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=139187254
2016-11-18 12:45:58 +00:00
andrewlewis
bcc6c9ef43 Fix a typo.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=138871293
2016-11-18 12:44:21 +00:00
eguven
92a98d1ce2 Encrypt SimpleCache index file.
Clean up AtomicFile and make it return a custom FileOutputStream
for writing which handles IOException automatically during write
operations.

It also syncs the file descriptor and deletes the backup file on
close() call. This fixes the order of flush and close operations
when the fileoutputstream is wrapped by another OutputStream.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=138779187
2016-11-10 21:15:35 +00:00
cblay
16ddc84d93 Make PriorityTaskManager constructor public.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=138759164
2016-11-10 21:15:35 +00:00
olly
8cc7dfda7d Fix threading issues between ExoPlayerImpl/ExoPlayerImplInternal
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=138758739
2016-11-10 21:15:35 +00:00
olly
7ac1cab2d5 Set language to null unless explicitly defined as "und" in container
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=138758504
2016-11-10 21:15:35 +00:00
olly
2620045b0d Add debug logging when codec support checks fail
Issue: #2034

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=138698239
2016-11-10 21:15:35 +00:00
olly
aefc5165fd Fix cache upgrade
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=138687623
2016-11-10 21:15:28 +00:00
aquilescanta
b1fe274df3 Replace java.text.ParseException for ExoPlayer's ParserException
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=138628300
2016-11-10 21:15:20 +00:00