2174 Commits

Author SHA1 Message Date
cdrolle
e9ab71a280 Modified CeaDecoder and CeaSubtitle so that it's correctly setting the subsampleOffset and making proper use of it.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145552166
2017-01-25 19:26:03 +00:00
olly
0a8dc41632 Set max resolution from codec capabilities for ABR where resolutions are unknown
Issue: #2096

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145542983
2017-01-25 19:25:02 +00:00
olly
953c6855ec FMP4 EMSG/CEA608 output bug fix + tweaks
- Fix to use different track ids for EMSG + CEA608, so they can
  both be enabled at once.
- Tweaked extractor to output formats prior to endTracks() when
  parsing the initial moov box. This makes it easier to handle
  multiple tracks through the chunk package. It may or may not
  be made a requirement (it's already true for the MKV extractor).

Issue: #2362
Issue: #2176

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145538757
2017-01-25 19:23:58 +00:00
eguven
8970e80b25 Don't use the returned key set id if the request wasn't for an offline license key
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145533961
2017-01-25 19:22:56 +00:00
zhihuichen
0e99237075 Allow duplicate tracks in WebM/MKV extractor
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145457836
2017-01-25 19:21:55 +00:00
olly
c01c2c34f7 Store full accessibility descriptors in parsed DASH manifest
Issue: #2362

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145402640
2017-01-24 14:25:47 +00:00
olly
4efdd14c65 Allow FMP4 extractor to output CEA-608
Issue: #2362

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145401668
2017-01-24 14:25:47 +00:00
aquilescanta
b1ec5e3a25 Move TimestampAdjuster from extractor to util
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145295850
2017-01-24 14:25:47 +00:00
aquilescanta
497651c7b9 Ignore file extension for HLS Subtitle Renditions
According to the spec, subtitle renditions must be Webvtt media
segments.

Issue:#2025
Issue:#2355

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145289266
2017-01-24 14:25:47 +00:00
aquilescanta
18d7cdf39f Add pts adjustment in SpliceInfoDecoder
This allows the user to interpret PTSs in the playback timebase.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145280921
2017-01-24 14:25:47 +00:00
olly
5debf5a14a Use bitrate as fixed track selection tie breaker
If we don't have resolutions (and therefore cannot determine
pixel counts) then use bitrate as a tie breaker instead. Also
use pixel count as a tie breaker if pixel counts are known
but equal. Streams with known pixel counts will always be
preferred over streams without.

Issue: #2343

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145269968
2017-01-24 14:25:47 +00:00
Oliver Woodman
55ca323cee Add upstream.crypto package (and friends). 2017-01-20 20:50:02 +00:00
olly
52d47aa244 Fix possible track selection NPE
If no tracks are selected at the start of playback, TrackSelectorResult
isEquivalent(null) returned true, meaning we were keeping the old result
(i.e. null), which we then tried to de-reference.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145105702
2017-01-20 19:27:30 +00:00
aquilescanta
63604493b4 Fix memory leak in HlsMediaChunk's
Issue:#2319

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145089668
2017-01-20 19:26:34 +00:00
olly
26b303a449 Pull assertion and layer of indirection out from ChunkExtractorWrapper
It should be possible to remove ChunkExtractorWrapper from the track
output side as well (currently all extractor output is funneled via
ChunkExtractorWrapper just so it can adjust the format, which is kind
of unnecessary).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145083620
2017-01-20 16:12:03 +00:00
tap-prod
5407c98526 Automated rollback
*** Original change description ***

Pull assertion and layer of indirection out from ChunkExtractorWrapper

It should be possible to remove ChunkExtractorWrapper from the track
output side as well (currently all extractor output is funneled via
ChunkExtractorWrapper just so it can adjust the format, which is kind
of unnecessary).

***

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145078094
2017-01-20 16:11:16 +00:00
olly
6e18c97c20 Pull assertion and layer of indirection out from ChunkExtractorWrapper
It should be possible to remove ChunkExtractorWrapper from the track
output side as well (currently all extractor output is funneled via
ChunkExtractorWrapper just so it can adjust the format, which is kind
of unnecessary).

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=145076891
2017-01-20 15:44:41 +00:00
olly
7abc34c6ae Respect decode-only flag in MetadataRenderer
Issue #2176

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144999973
2017-01-20 15:43:42 +00:00
olly
9617986538 Remove redundant MetadataDecoder.canDecode method
This is no longer needed as MetadataDecoderFactory
figures out which decoder should be used.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144999613
2017-01-20 15:42:40 +00:00
olly
641597d708 Add a flag to enable EMSG output from FMP4 extractor
Issue #2176

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144999302
2017-01-20 15:41:40 +00:00
olly
430d8e8a7a Rename SingleTrackMetadataOutput ahead of real metadata support
Issue #2176

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144969838
2017-01-20 15:39:35 +00:00
olly
ae01c1a6fd Move inband event streams to Representation
This is more consistent with our handling of DRM init data,
and is more correct. It'll be up to whoever's using the
manifest to look one layer deeper and figure out what event
streams are defined on all representations, if they wish to
do so.

Issue #2176

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144968183
2017-01-20 15:38:30 +00:00
olly
d9be650b3b DASH: Fix propagation of language from manifest
Issue: #2335

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144956177
2017-01-20 15:37:25 +00:00
eguven
4b957cce47 Fix streaming license renew error
When the first streaming license request response provided to mediaDrm it might return an empty array instead of null.
This was set to offlineLicenseKeySetId which made the work like there is a valid offline license.
Simplified the code and made it to set offlineLicenseKeySetId only if there is sensible data in keySetId.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144843144
2017-01-18 18:21:06 +00:00
olly
51f96374d4 Make headers consisting across build.gradle files
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144826116
2017-01-18 18:19:03 +00:00
andrewlewis
bc4dc591f5 Fix some style nits in ID3 chapter support.
Issue: #2316

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144815010
2017-01-18 11:28:06 +00:00
cdrolle
18a24a1fde Added the CEA-708 support to the open-source project.
Issue: #1807

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144726542
2017-01-17 18:50:38 +00:00
Oliver Woodman
1ffe7753c6 Another ID3 bug fix 2017-01-17 17:37:33 +00:00
Oliver Woodman
f1e3d3f244 Enable tunneling end-to-end
- Tunneling can be enabled by calling:
  trackSelector.setTunnelingAudioSessionId(
      C.generateAudioSessionIdV21(this));

- If enabled, tunneling is automatically used when the renderers
  and track selection combination support it. Tunneling is
  automatically turned on and off through playlists if the support
  changes.

Issue: #1688
2017-01-17 17:21:10 +00:00
Oliver Woodman
c828d9b0bf Some ID3 bug fixes 2017-01-17 15:49:51 +00:00
Oliver Woodman
48099ee52e Fix comments 2017-01-17 15:33:35 +00:00
Oliver Woodman
5aff31c061 Further improve ID3 parsing 2017-01-17 15:29:07 +00:00
Oliver Woodman
31602af3e6 Merge branch 'dev-v2' of git://github.com/geekygecko/ExoPlayer into geekygecko-dev-v2 2017-01-17 13:53:50 +00:00
olly
7f967f3057 DASH: Parse Role elements to select default audio/text tracks
Issue: #2058

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144693705
2017-01-17 13:44:14 +00:00
aquilescanta
6e481178ea Track HLS discontinuities when playlist does not declare sequence
This is an initial version that does not handle cross-playlists
adjustment in an ideal way.

Issue:#1789

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144692969
2017-01-17 13:43:18 +00:00
aquilescanta
7d7a159195 Provide sample timestamps and subsample offset for Splice info
This will allow recreating timestamp adjustment on the decoding side.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144692956
2017-01-17 13:42:13 +00:00
olly
0e0b23f11e Update getTrackType for completeness
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144690284
2017-01-17 13:41:10 +00:00
olly
79a0899124 Always re-send format if sample buffer is null
Also clear the playingPeriodHolder in the case the renderers
are being disabled. This is required to ensure that
setPlayingPeriodHolder isn't turned into a no-op, which will
break the seek.

Issue: #2330

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144635220
2017-01-17 13:40:05 +00:00
Philip Simpson
f6ecaddc88 Improved ID3 chapter parsing code from feedback given. 2017-01-17 12:03:18 +10:30
Philip Simpson
5153e9e977 Improved ID3 chapter parsing code from feedback given. 2017-01-17 12:00:48 +10:30
olly
60a3eda1e0 Support tunneling in video renderer
At this point the renderers all have TODOs in enable(),
and turning on tunneling is reduced to the problem of
propagating a tunneling ID to these points.

Issue: #1688

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144619393
2017-01-16 11:43:07 +00:00
ojw28
5742c87755 Merge pull request #2327 from pipelka/audio-seek-fix
reconfigure audiotrack on format change
2017-01-16 09:44:59 +00:00
Philip Simpson
f2f1058066 Added ID3 chapter support. 2017-01-16 17:40:02 +10:30
Oliver Woodman
41c4295aee Fix build break + cleanup 2017-01-16 00:20:51 +00:00
ojw28
a418b132d9 Merge pull request #2318 from WeiChungChang/far_seek_improvement
Improve far seek performance of chunkSampleStream
2017-01-16 00:02:44 +00:00
ojw28
bd744fc508 Merge pull request #2314 from meteoorkip/vector-drawables
Fix vector drawable usage on API level 21 or above
2017-01-16 00:01:13 +00:00
eguven
418cd9e7e3 Make DefaultLoadControl use PriorityTaskManager if one is given
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=144448491
2017-01-15 23:54:20 +00:00
Alexander Pipelka
24a0061caa reconfigure audiotrack on format change
under certain circumstances (e.g. seek to a position where the input format
changed) the audio track needs a reconfigure even if there aren't any
pending buffers
2017-01-14 12:14:37 +01:00
WeiChungChang
2214a4c152 'refine_to_make_flow_simpler' 2017-01-14 10:22:27 +08:00
Devin Tuchsen
30c59c7a3f
Apple Lossless (ALAC) support 2017-01-13 20:16:49 -06:00