Commit graph

95 commits

Author SHA1 Message Date
olly
7170ff380c Remove V1 DASH multi-period + seeking-in-window from V2.
Both of these features are being promoted to first class
citizens in V2 (multi-period support will be handled via
playlists, seeking-in-window will be handled by exposing
the window/timeline from the player and via the normal
seek API). For now, it's much easier to continue the
refactoring process with the features removed.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119518675
2016-06-15 19:39:06 +01:00
cblay
1c0a120aeb Give the SimpleCache.initialize() Thread a better name.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119393264
2016-06-15 19:39:06 +01:00
olly
e5d028c425 Merge https://github.com/google/ExoPlayer/pull/1397.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119182077
2016-06-15 19:39:06 +01:00
olly
92ac270ce5 Return C constant rather than -1, as documented.
Note that the DataSourceInputStream read methods
are implementing a different interface (InputStream,
not DataSource), which is why -1 is still used in
that case.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=119180851
2016-06-15 19:39:06 +01:00
olly
a4d17282f1 Have loader implement retry logic.
This was made possible by the simplification of how DASH/SS
chunk replacement works. It is also a step towards eliminating
continueBuffering(), since continueBuffering() calls are no
longer relied upon to resume a backed off load.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=118774865
2016-06-15 19:39:05 +01:00
olly
d83b89cfd0 Minor documentation tweak.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=118774671
2016-06-15 19:39:05 +01:00
olly
b0c8a6132d Add DataSourceFactory + implementation.
Step 6 of the refactor involves moving the logic that's
currently in the SourceBuilder classes in the demo app
into new SampleSource classes in the library. These classes
will construct video/audio/text pipelines on-demand (i.e.
when tracks are enabled) rather than constructing them all
up front as is currently the case in the SourceBuilder
classes. Hence we need a way to instantiate DataSource
instances (i.e. a DataSourceFactory ;)).
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=118722180
2016-06-15 19:39:05 +01:00
olly
6cc507aac0 Make all DataSource implementations implement getUri.
In V2 we'll at some point start using DataSource factories
for creating DataSource instances. If there are two DataSource
interfaces this gets unnecessarily awkward.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=118470751
2016-06-15 19:39:04 +01:00
olly
27ab1a2e65 Merge updates from GitHub.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117808998
2016-06-15 19:38:06 +01:00
olly
e7a27245e7 Use new-style for loops specifically for arrays.
As per: http://developer.android.com/training/articles/perf-tips.html
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117716743
2016-06-15 19:38:06 +01:00
olly
0135aaa122 Migrate ExoCache CacheSpan filenames from v1 to v2
V2 supports encoding special characters while on disk.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=117228319
2016-06-15 19:37:51 +01:00
olly
c48dd4f3e3 Use FormatEvaluator for HLS.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=114743795
2016-06-15 18:54:51 +01:00
cblay
6bc52262db Minor tweaks/fixes.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=113868179
2016-06-15 18:54:38 +01:00
Oliver Woodman
cdb6ac4073 Added a isLocalFileUrlOrPath(Uri) method to remove manual checks
Also replaced the manual checks with a call to this method
2015-11-27 15:59:25 +00:00
Oliver Woodman
4fbe4fc7d5 Throw correct exception. 2015-11-25 16:48:45 +00:00
Oliver Woodman
b3ba7e16c1 Close DefaultHttpDataSource connections quietly. 2015-09-01 14:02:16 +01:00
Oliver Woodman
69466adbe3 Remove unused exception class. 2015-08-11 18:17:33 +01:00
Oliver Woodman
574e554e01 Make classes/methods final to prevent uncontrolled extension. 2015-08-03 15:18:09 +01:00
Oliver Woodman
e90ad9c47d Make Aes128DataSource private to the HLS package.
Issue: #662
2015-07-29 22:35:48 +01:00
Oliver Woodman
7ea199638e Content/Asset data sources - Handle >2^31 byte files correctly.
Issue #641
2015-07-23 13:44:11 +01:00
Oliver Woodman
9dc1bfbbe7 Support POST requests with DefaultHttpDataSource/DataSpec 2015-07-23 13:10:59 +01:00
Oliver Woodman
ed2b65654c Cleanup UdpDataSource. 2015-07-21 17:34:37 +01:00
Oliver Woodman
5df6854fea Noop tweak to DefaultHttpDataSource 2015-07-21 10:05:22 +01:00
Oliver Woodman
e7950555d3 Generalize MulticastDataSource to UdpDataSource 2015-07-21 10:05:04 +01:00
Oliver Woodman
508e1cabe1 Always null inputStream, even if closing it failed. 2015-07-21 09:57:51 +01:00
Oliver Woodman
fe52a486f4 Inject Allocator into ExtractorSampleSource. 2015-07-15 11:05:15 +01:00
Oliver Woodman
bdd1968abe Allow reading of response headers from HttpDataSource implementations 2015-06-12 17:36:48 +01:00
Oliver Woodman
926bc805f5 Add some useful Systrace 2015-06-05 18:28:42 +01:00
Oliver Woodman
ac54b4f696 Cleanup/Sync with internal tree 2015-05-22 21:45:13 +01:00
Oliver Woodman
67d0154960 Use Java7 <> syntax 2015-05-22 21:40:22 +01:00
Oliver Woodman
91bcec82f5 Support an up-front block allocation in DefaultAllocator. 2015-05-22 21:37:21 +01:00
Oliver Woodman
3e62b63eb2 Try and use httpDataSource if scheme isn't recognised.
Issue: #473
2015-05-22 20:37:52 +01:00
Oliver Woodman
253a0105f7 Cleanup 2015-05-19 15:24:18 +01:00
Oliver Woodman
709fc7735b First steps toward implementing bounded live seek. 2015-05-19 15:16:29 +01:00
Oliver Woodman
6ae97ced3a Support content:// URIs, and some cleanup/consistency tweaks.
- There's definitely potential for more code sharing in these
classes, but deferring for now.
- Also made no-scheme default to file://, and allowed smoothstreaming
URLs to be specified with or without the /Manifest suffix.
2015-05-19 14:14:53 +01:00
Oliver Woodman
675c7738c1 Let DefaultUriDataSource load assets. 2015-05-19 14:12:59 +01:00
Oliver Woodman
059b80c1ab Improve DataSource implementations:
1. Make DefaultUriDataSource robust against exceptions through from close().
2. Make AssetDataSource handle file:///android_asset/ URIs.
2015-05-19 14:05:50 +01:00
Oliver Woodman
dd7a796883 Make constant public 2015-05-19 14:01:59 +01:00
ood_tsen
b340d47165 support content uri (e.q. content://xxx) 2015-05-18 20:24:59 +08:00
Oliver Woodman
79c7798d84 Reorganize BandwidthMeter interface 2015-05-11 21:11:53 +01:00
Oliver Woodman
54b71a5743 Allow cross-protocol redirects.
Issue: #423
2015-05-08 17:05:54 +01:00
Oliver Woodman
9dcb17f21a Clean up DataSourceInputStream 2015-05-05 20:30:52 +01:00
Tanuj Mittal
2a06c2641c Fix DataSourceInputStream.read() for EOF cases 2015-05-05 16:30:09 +05:30
Oliver Woodman
54f97c952e Reintroduce Allocation abstraction.
Play movies has an Allocator that attempts to allocate a single
huge byte[] up front to minimize the risk of GC pauses. This abstraction
will be required to keep that when updating them to the new Exo.
2015-05-01 20:28:49 +01:00
Oliver Woodman
9b112cf94d Video format selection.
Making Representation and TrackElement extend Format will simplify
this further (TBC whether this is a good idea!).

Issue: #393
2015-05-01 20:27:11 +01:00
Oliver Woodman
6bf62770bd Make sure that the process dies if a loading task throws Error. 2015-05-01 20:24:50 +01:00
Oliver Woodman
5ea7424ee3 Tidy up AssetDataSource. 2015-05-01 20:23:02 +01:00
ojw28
26c5461b10 Merge pull request #408 from dnutcracker/dev
fix for issue #403
2015-04-24 11:51:11 +01:00
Nati Dykstein
a43dd6ba68 Update AssetDataSource.java 2015-04-22 22:25:44 +03:00
Oliver Woodman
1a01dcc55a Separate UriDataSource from HttpDataSource.
Using a file:// URL for loading an HLS stream (for testing) would fail due to
casting the connection to an HttpURLConnection in DefaultHttpDataSource.

This change makes UriDataSource an interface for objects that are DataSources
with URIs. That allows for reading manifests for HLS using just a UriDataSource
rather than an HttpDataSource (URLs in the playlist are relative to the data
source's URL so the getUri method is needed).
2015-04-22 16:22:48 +01:00