3877 Commits

Author SHA1 Message Date
olly
865d74cde0 Don't use TextureView's SurfaceTexture unless available
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164434943
2017-08-07 11:57:01 +01:00
olly
05179b4f1b Set correct Content-Type for ClearKey requests
Issue: #3138

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164434858
2017-08-07 11:55:42 +01:00
olly
d4c45861f4 Clean up extension READMEs
Issue: #1157

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164434768
2017-08-07 11:54:21 +01:00
olly
9ecec92b56 Finalize r2.5.0
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164434615
2017-08-07 11:53:04 +01:00
aquilescanta
b0da1f98f6 Remove unnecessary API level check in PlayerActivity of the demo app
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164271226
2017-08-04 18:16:12 +01:00
andrewlewis
b407b19296 Log IMA LOG AdEvent ad data
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164267555
2017-08-04 18:16:06 +01:00
andrewlewis
fdcee8f1b6 Fix detection of postroll when seeking to duration
Also mark all ads as played when the postroll plays, in the case the
player is backgrounded then resumed and the user seeks back.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164262738
2017-08-04 18:15:49 +01:00
olly
ba46e472af Fix playing local content after permission granted.
After maybeRequestReadExternalStoragePermission and the
subsequent granting of the permission, the media source
would never be created.

I can't see a case where initializePlayer shouldn't create
a new MediaSource, so I've just removed the condition.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164260074
2017-08-04 18:13:52 +01:00
andrewlewis
42eaee3db8 Update playbackInfo even if there's no period holder
This is required to correctly update the playbackInfo.periodId when
seeking close to the end of a period with ads, as the seek operation
leads to an immediate source info refresh when midroll ads are marked as
played.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164257099
2017-08-04 18:13:44 +01:00
andrewlewis
c72278d23e Separate handling of oldTimeline == null case
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164254522
2017-08-04 18:13:37 +01:00
aquilescanta
f502171e5f Remove unnecessary API level check in PlayerActivity of the demo app
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164271226
2017-08-04 18:01:12 +01:00
andrewlewis
c449bae51a Log IMA LOG AdEvent ad data
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164267555
2017-08-04 18:00:00 +01:00
andrewlewis
287b999723 Fix detection of postroll when seeking to duration
Also mark all ads as played when the postroll plays, in the case the
player is backgrounded then resumed and the user seeks back.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164262738
2017-08-04 17:58:32 +01:00
olly
c28ebf10f7 Fix playing local content after permission granted.
After maybeRequestReadExternalStoragePermission and the
subsequent granting of the permission, the media source
would never be created.

I can't see a case where initializePlayer shouldn't create
a new MediaSource, so I've just removed the condition.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164260074
2017-08-04 17:57:02 +01:00
andrewlewis
576f362912 Update playbackInfo even if there's no period holder
This is required to correctly update the playbackInfo.periodId when
seeking close to the end of a period with ads, as the seek operation
leads to an immediate source info refresh when midroll ads are marked as
played.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164257099
2017-08-04 17:55:35 +01:00
andrewlewis
08e58af6e7 Separate handling of oldTimeline == null case
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164254522
2017-08-04 17:54:01 +01:00
olly
1203b53406 Decrease number of Vpx input buffers
I think they're excessively sized also, but changing that
is a little more risky. And we should look at investigating
the input buffer size for all our decoder extensions,
rather than just this one.

Issue: #3120

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164234087
2017-08-04 12:54:41 +01:00
olly
6bf967263b Remove dead sample link
Issue: #3135

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164138761
2017-08-04 12:54:34 +01:00
olly
de1f538e14 Bump version
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164126494
2017-08-04 12:54:27 +01:00
andrewlewis
5fbb58c62f Take into account init data size for input buffer size
Issue: #2900

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164110904
2017-08-04 12:54:20 +01:00
olly
c2049ba1a7 Fix some lint warnings
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164105662
2017-08-04 12:54:14 +01:00
olly
587704a2a0 Add some missing @param Javadoc to extensions
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164105607
2017-08-04 12:54:08 +01:00
olly
838c4414eb Fix targetSdkVersion to be consistent with gradle builds
The manifest value is always overridden in gradle builds,
so this is for internal builds only. The value should be
the same (i.e. 25!).

Also fix IMA build to force the right support library
version, attempt 2!

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164103183
2017-08-04 12:54:02 +01:00
aquilescanta
fbee0c8521 Replace README reference to source with reference to javadoc
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164090619
2017-08-04 12:53:56 +01:00
olly
40f3f1cb78 Decrease number of Vpx input buffers
I think they're excessively sized also, but changing that
is a little more risky. And we should look at investigating
the input buffer size for all our decoder extensions,
rather than just this one.

Issue: #3120

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164234087
2017-08-04 12:38:03 +01:00
olly
b664e92bb4 Remove shuffle button since it doesn't work yet
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164141326
2017-08-04 12:36:39 +01:00
olly
95dd590016 Remove dead sample link
Issue: #3135

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164138761
2017-08-04 12:35:19 +01:00
olly
1109bf50dd Bump version
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164126494
2017-08-04 12:33:50 +01:00
tonihei
53bc59b9d2 Add UI resources for shuffle mode.
Including strings, icon, and button.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164126101
2017-08-04 12:32:24 +01:00
aquilescanta
72daef7a4c Don't read GaSpecificConfig unless required
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164125579
2017-08-04 12:31:01 +01:00
tonihei
ccd05cbd04 Add fake simple exo player.
This implementation runs as fast as possible by triggering a simplified
playback loop continuously without waiting. The class only supports a basic
use case with a single-period timeline, no timeline update, no seeks or other
user-initiated actions.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164120420
2017-08-04 12:29:40 +01:00
tonihei
6f7dc974c9 Add forwarding timeline to prevent repetition of boiler-plate code.
Multiple timelines work as a wrapper around another timeline and forward
most of the method calls to the wrapped timeline. Added a base class meant to
be overridden which handles all the boiler-plate forwarding.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164117264
2017-08-04 12:28:19 +01:00
J. Oliva
768a73b377 Add possibility of forcing a specific license URL in HttpMediaDrmCallback
- Renamed some license URL related variables to keep consistency across the code.
- Added a new parameter to HttpMediaDrmCallback that enables forcing defaultLicenseURL as the license acquisition URL.
2017-08-04 13:25:10 +02:00
tonihei
3c6ad40481 Add shuffle order interface and default implementation.
These classes maintain a shuffled order of indices allowing to query the
next, previous, first, and last indices. And also support inserting and
removing elements without changing the shuffled order of the rest.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164116287
2017-08-03 14:49:32 +01:00
andrewlewis
cb00b0209f Take into account init data size for input buffer size
Issue: #2900

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164110904
2017-08-03 14:48:21 +01:00
olly
db99187381 Fix some lint warnings
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164105662
2017-08-03 14:47:04 +01:00
olly
78cdd08684 Add some missing @param Javadoc to extensions
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164105607
2017-08-03 14:45:45 +01:00
olly
147d5bb3b2 Fix targetSdkVersion to be consistent with gradle builds
The manifest value is always overridden in gradle builds,
so this is for internal builds only. The value should be
the same (i.e. 25!).

Also fix IMA build to force the right support library
version, attempt 2!

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164103183
2017-08-03 14:44:26 +01:00
andrewlewis
81cbd7348f Fix path to constants.gradle
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164095350
2017-08-03 14:43:08 +01:00
aquilescanta
a5f9f40bf0 Replace README reference to source with reference to javadoc
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164090619
2017-08-03 14:41:48 +01:00
tonihei
19aa69e0f4 Remove child data holder helper from AbstractConcatenatedTimeline.
This helper class required a scratch instance to write on. Such a scratch
instance may violate the immuatability of the timelines if used by multiple
threads simultaneously.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=163992458
2017-08-02 20:23:54 +01:00
olly
a3df29a246 Some extractor fixes
- Fix Ogg extractor to work without sniffing.
- Fix extractors to handle seek() before init().
- Add tests for both issues.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=163992343
2017-08-02 20:23:45 +01:00
olly
1f019ca808 Fix build.gradle to use modulePrefix
Issue: #3131

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=164004981
2017-08-02 20:19:19 +01:00
tonihei
5ca84ebfd8 Remove child data holder helper from AbstractConcatenatedTimeline.
This helper class required a scratch instance to write on. Such a scratch
instance may violate the immuatability of the timelines if used by multiple
threads simultaneously.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=163992458
2017-08-02 17:45:52 +01:00
olly
412138b2ea Some extractor fixes
- Fix Ogg extractor to work without sniffing.
- Fix extractors to handle seek() before init().
- Add tests for both issues.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=163992343
2017-08-02 17:44:41 +01:00
olly
49b83c01ca Throw ParserException if parsing unsupported media
This is for consistency with what we do elsewhere;
specifically in FragmentedMp4Extractor.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=163974960
2017-08-02 17:43:28 +01:00
tonihei
22ea9ed687 Clean-up ExoHostedTest/HostActivity.
This change clearly seperates the hosting of a test (HostActivity) from
the internals of hosting an ExoPlayer lifecycle (ExoHostedTest).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=163967960
2017-08-02 17:42:11 +01:00
aquilescanta
55fe5d21a2 Create the demos dir
Now the demo app is under demos/main.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=163967883
2017-08-02 17:40:54 +01:00
olly
cad25e5a4d Further fix H262 segmentation
Issue: #2891

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=163951910
2017-08-02 13:34:01 +01:00
andrewlewis
e604daaa09 Fix handling of H.262 CSD
The start code for H.262 codec-specific data may be across a packet boundary.
Before this change the offset passed to CsdBuffer.onData may have been before
the start point of the data in the newData buffer.

After this change, start codes are added directly to the CSD buffer when it's
filling and any start code bytes added by onData (at the end of a packet) are
discarded.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=163943584
2017-08-02 13:33:55 +01:00