7291 Commits

Author SHA1 Message Date
olly
22f25c57bb MatroskaExtractor naming cleanup II
- Remove "lacing" from member variables. They're used even if
  there is no lacing (and the fact that lacing is the way of
  getting multiple samples into a block isn't important).

Issue: #3026
PiperOrigin-RevId: 284152447
2019-12-06 23:27:58 +00:00
olly
5973b76481 MatroskaExtractor naming cleanup
- Change sampleHasReferenceBlock to a block reading variable, which is
  what it is (the distinction didn't matter previously, but will do so
  when we add lacing support in full blocks because there wont be a 1:1
  relationship any more.
- Move sampleRead to be a reading state variable.
- Stop abbreviating "additional"

Issue: #3026
PiperOrigin-RevId: 284000937
2019-12-06 23:27:52 +00:00
andrewlewis
4f363b1492 Fix mdta handling on I/O error
An I/O error could occur while handling the start of an mdta box, in
which case retrying would cause another ContainerAtom to be added. Fix
this by skipping the mdta header before updating container atoms.

PiperOrigin-RevId: 284000715
2019-12-06 23:27:43 +00:00
tonihei
1e609e245b Add format and renderer support to renderer exceptions.
This makes the exception easier to interpret and helps with debugging of
externally reported issues.

PiperOrigin-RevId: 283965317
2019-12-06 23:27:11 +00:00
samrobinson
eb5016a6ff Fix MCR comment line break.
PiperOrigin-RevId: 283958680
2019-12-06 23:24:57 +00:00
olly
e10a78e6b7 Add NonNull annotations to text packages
PiperOrigin-RevId: 283951181
2019-12-06 23:24:42 +00:00
olly
cab05cb71d Two minor nullability fixes
PiperOrigin-RevId: 283810554
2019-12-06 23:24:11 +00:00
olly
9f44e902b1 Fix incorrect DvbParser assignment
PiperOrigin-RevId: 283791815
2019-12-06 23:23:48 +00:00
tonihei
e97b8347eb Add IntDefs for renderer capabilities.
This simplifies documentation and adds compiler checks that the correct values
are used.

PiperOrigin-RevId: 283754163
2019-12-06 23:23:42 +00:00
olly
7d7c37b324 Add NonNull annotations to metadata packages
Also remove MetadataRenderer and SpliceInfoDecoder from the
nullness blacklist

PiperOrigin-RevId: 283744417
2019-12-06 23:23:14 +00:00
ibaker
86a86f6466 Refactor ExtractorInput javadoc about allowEndOfInput
This parameter is a little confusing, especially as the behaviour
can be surprising if the intended use-case isn't clear. This change
moves the description of the parameter into the class javadoc,
adds context/justification and slims down each method's
javadoc to refer to the class-level.

Related to investigating/fixing issue:#6700

PiperOrigin-RevId: 283724826
2019-12-06 23:22:30 +00:00
Ian Baker
6a354bb29f Merge pull request #6595 from szaboa:dev-v2-ssa-position
PiperOrigin-RevId: 283722376
2019-12-06 23:22:12 +00:00
bachinger
5171a4bf5e reduce number of notification updates
Issue: #6657
PiperOrigin-RevId: 283563218
2019-12-06 22:47:55 +00:00
ibaker
e595791245 Clarify Cue.DIMEN_UNSET is also used for size
PiperOrigin-RevId: 283559073
2019-12-06 22:47:45 +00:00
olly
b112ae000c Use peak rather than average bitrate for HLS
This is a minor change ahead of merging a full variant of
https://github.com/google/ExoPlayer/pull/6706, to make
re-buffers less likely.

Also remove variable substitution when parsing
AVERAGE-BANDWIDTH (it's not required for integer attributes)

PiperOrigin-RevId: 283554106
2019-12-06 22:47:34 +00:00
bachinger
9e238eb6d3 MediaSessionConnector: Support ACTION_SET_CAPTIONING_ENABLED
PiperOrigin-RevId: 283546707
2019-12-06 22:47:15 +00:00
andrewlewis
ab016ebd81 Fix comment typo
PiperOrigin-RevId: 283543456
2019-12-06 22:45:26 +00:00
ibaker
a6098bb9fa Allow AdtsExtractor to encounter EOF
Fixes issue:#6700

sample_cbs_truncated.adts test file produced using
`$ split -b 31795 sample_truncated.adts` to remove the last 10 bytes

PiperOrigin-RevId: 283530136
2019-12-06 22:44:46 +00:00
andrewlewis
668e8b12e0 Fix typo in DefaultTimeBar javadoc
PiperOrigin-RevId: 283515315
2019-12-06 22:43:14 +00:00
olly
92566323da Remove some more core classes from nullness blacklist
PiperOrigin-RevId: 283366568
2019-12-06 22:43:01 +00:00
bachinger
ab1d54d0ac Merge pull request #6696 from phhusson:fix/nullable-selection-override
PiperOrigin-RevId: 283347700
2019-12-06 22:40:22 +00:00
olly
b296b8d807 Remove nullness blacklist for UI module
PiperOrigin-RevId: 283324784
2019-12-06 22:39:55 +00:00
olly
02ddfdc0c8 Bump targetSdkVersion to 29 for demo apps only
PiperOrigin-RevId: 283324612
2019-12-06 22:39:44 +00:00
andrewlewis
78e72abbc4 Remove row VP9 multi-threading option
PiperOrigin-RevId: 283319944
2019-12-06 22:39:34 +00:00
olly
8e44e3b795 Remove LibvpxVideoRenderer from nullness blacklist
PiperOrigin-RevId: 283310946
2019-12-06 22:39:21 +00:00
olly
8ae654c485 Add layer of indirection for drawables
This allows easy overriding of the resources by app developers

Issue: #6709
PiperOrigin-RevId: 283306121
2019-12-06 22:39:04 +00:00
olly
815ec8afab Provide instructions for building extensions using Windows PowerShell
PiperOrigin-RevId: 283296427
2019-12-06 22:38:51 +00:00
andrewlewis
5f465f770b Remove AdsManager listeners on release
Issue: #6687
PiperOrigin-RevId: 283023548
2019-12-06 22:37:35 +00:00
Oliver Woodman
9d9a2a6818 Remove stray release note 2019-11-27 22:41:01 +00:00
andrewlewis
d30b0285a3 Fix audio processor draining for reconfiguration
When transitioning to a new stream in a different format, the audio
processors are reconfigured. After this, they are drained and then
flushed so that they are ready to handle data in updated formats for the
new stream.

Before this change, some audio processors made the assumption that after
reconfiguration no more input would be queued in their old input format,
but this assumption is not correct: during draining more input may be
queued. Fix this behavior so that the new configuration is not referred
to while draining and only becomes active once flushed.

Issue: #6601
PiperOrigin-RevId: 282515359
2019-11-27 22:40:13 +00:00
andrewlewis
b9f79b40f8 Remove redundant flush() calls from AudioProcessors
flush() is guaranteed to be called in all these cases anyway.

Also clarify documentation for AudioProcessor-specific methods that can
change the 'active' flag.

Issue: #6601
PiperOrigin-RevId: 282515255
2019-11-27 22:34:17 +00:00
andrewlewis
07b3cbc361 Add AudioProcessor.AudioFormat
Issue: #6601
PiperOrigin-RevId: 282515179
2019-11-27 22:34:12 +00:00
andrewlewis
a2b3ad863d Always drain/flush AudioProcessors after configuration
This simplifies the contract of configure and is in preparation for
fixing a bug where more input can't be queued when draining audio
processors for a configuration change.

Issue: #6601
PiperOrigin-RevId: 282514367
2019-11-27 22:34:05 +00:00
olly
e899e0ea81 Clean up 2.11.0 release notes
PiperOrigin-RevId: 282227866
2019-11-24 16:04:31 +00:00
olly
bd0fbd0c89 Fix incorrect Javadoc
PiperOrigin-RevId: 281976465
2019-11-22 16:59:36 +00:00
andrewlewis
25b6a02026 Fix check for E-AC3 JOC in DASH
Issue: #6636
PiperOrigin-RevId: 281972403
2019-11-22 16:59:31 +00:00
olly
ff19262a5e Make placeholder sessions report their true state
Note that the renderer changes will all disappear when we remove
legacy injection of DrmSessionManager into renderers.

PiperOrigin-RevId: 281952601
2019-11-22 15:39:15 +00:00
olly
de641380df Improve WakeLock/AudioBecomingNoisy Javadoc
PiperOrigin-RevId: 281764207
2019-11-22 15:39:10 +00:00
olly
d82da93ec4 Simplify checking whether a sample can be read
PiperOrigin-RevId: 281763672
2019-11-22 15:39:05 +00:00
olly
cc520a670e Simplify playback of clear samples without keys
- Move property to DrmSession; it feels like a more natural place
  for it to go (and provides greater flexibility).
- Change flags to a boolean.

PiperOrigin-RevId: 281758729
2019-11-22 15:39:00 +00:00
andrewlewis
9be09b35e2 Add AV1 to supported formats
PiperOrigin-RevId: 281724630
2019-11-22 15:38:53 +00:00
olly
b0eea31391 Fix broken Enc/Clear playlist in media.exolist.json
- DRM properties need to be on individual playlist items.

PiperOrigin-RevId: 281718153
2019-11-22 15:38:48 +00:00
tonihei
8becf02c30 Replace all database.beginTransaction with beginTransactionNonExclusive
This ensures other database readers can continue reading while we do our
write transaction.

PiperOrigin-RevId: 281520758
2019-11-22 15:38:16 +00:00
olly
704bd8af09 Remove stray word in logging
PiperOrigin-RevId: 281510703
2019-11-22 15:38:10 +00:00
tonihei
febfeca2c6 Mark all methods accessing SQLite databases as potentially blocking.
They are all marked with a JavaDoc comment and the @WorkerThread annotation
which is useful if apps are using threading annotations. All other public
methods in the same classes are marked with @AnyThread to avoid the impression
we forgot to annotate them.

PiperOrigin-RevId: 281490301
2019-11-22 15:38:05 +00:00
ibaker
fc0aa08d79 Add testutils as test dep of library-core module
The current workaround seems to cause compilation errors inside the
testutils module in Android Studio. This seems to fix them.

This doesn't introduce a circular dependency because it's only
the tests in library-core depending on testutils.

PiperOrigin-RevId: 281318192
2019-11-22 15:37:59 +00:00
andrewlewis
1730b6bb51 Reconfigure audio sink when PCM encoding changes
Note:
- Fixing this uncovers another bug in how audio processor draining
  works, so the test playlist still doesn't play correctly after this
  change.
- Once we reconfigure the audio sink based on the ExoPlayer Format
  rather than the codec MediaFormat in a later change, this change can
  be reverted.

Issue: #6601
PiperOrigin-RevId: 281264149
2019-11-22 15:37:51 +00:00
Oliver Woodman
3023bb4d91 Remove future release notes 2019-11-22 15:35:20 +00:00
aquilescanta
b5d9935361 Deprecate public renderer constructors that take a DrmSessionManager
PiperOrigin-RevId: 281086336
2019-11-19 15:10:42 +00:00
olly
654b7aa12b Release notes for 2.10.8
PiperOrigin-RevId: 281084720
2019-11-19 15:10:34 +00:00