7917 Commits

Author SHA1 Message Date
ibaker
4653592d0e Propagate HTTP request headers through CacheDataSource
This has been broken since
c3d6be3afd
and broken for ICY (where I noticed the problem) since
5695bae9d8.
ICY symptom is that we see no repeated metadata, because the
Icy-MetaData:1 header doesn't make it to the server so we never get back
icy-metaint.

PiperOrigin-RevId: 285379234
2019-12-18 19:25:57 +00:00
tonihei
53d30d80a5 Fix bug where C.TIME_UNSET was used for calcutations.
The presentationTimeOffsetMs may be C.TIME_UNSET for VOD content
and shouldn't be used in calculations for the windowStartTime.

PiperOrigin-RevId: 285363095
2019-12-18 19:25:30 +00:00
olly
5bead4acbb Make DefaultTimeBar exclude itself for gestures
Issue: #6685
PiperOrigin-RevId: 284736041
2019-12-18 19:23:03 +00:00
Oliver Woodman
76962d50f1
Merge pull request #6752 from google/dev-v2-r2.11.0
r2.11.0
2019-12-11 16:11:21 +00:00
Oliver Woodman
4a4aa16d41 Merge branch 'release-v2' into dev-v2-r2.11.0 2019-12-11 13:53:27 +00:00
olly
a4a9cc9fd0 Suppress rawtypes warning when instantiating generic array
Change FakeAdaptiveMediaPeriod back to this style for consistency.

PiperOrigin-RevId: 284967667
2019-12-11 13:49:45 +00:00
ibaker
6ebc9f96c8 Fix generics warning in FakeAdaptiveMediaPeriod.
Remove all generic arrays from this class.

FakeAdaptiveMediaPeriod.java:171: warning: [rawtypes] found raw type: ChunkSampleStream
    return new ChunkSampleStream[length];
               ^
  missing type arguments for generic class ChunkSampleStream<T>
  where T is a type-variable:
    T extends ChunkSource declared in class ChunkSampleStream

PiperOrigin-RevId: 284761750
2019-12-11 13:49:38 +00:00
samrobinson
03b02f98df Fix an issue where a keyframe was not skipped.
Keyframe was rendered rather than skipped when performing
an exact seek to a non-zero position close to the start of
the stream.

PiperOrigin-RevId: 284798460
2019-12-11 13:48:42 +00:00
christosts
b8eafea176 Add missing release note entry
PiperOrigin-RevId: 284792946
2019-12-11 13:48:35 +00:00
olly
1de7ec2c70 Fix bug removing entries from CacheFileMetadataIndex
Issue: #6621
PiperOrigin-RevId: 284743414
2019-12-10 12:39:30 +00:00
olly
914a8df0ad MatroskaExtractor: Support lacing in full blocks
Caveats:

- Block additional data is ignored if the block is laced
  and contains multiple samples. Note that this is not
  a loss of functionality (SimpleBlock cannot have block
  additional data, and lacing was previously completely
  unsupported for Block)

- Subrip and ASS samples are dropped if they're in laced
  blocks with multiple samples (I don't think this is
  valid anyway)

Issue: #3026
PiperOrigin-RevId: 284545197
2019-12-09 17:58:23 +00:00
olly
0065f63f48 MatroskaExtractor: Constrain use of sample state member variables
This change constrains the use of sample state member variables to
writeSampleData, finishWriteSampleData and resetWriteSampleData.
Using them elsewhere gets increasingly confusing when considering
features like lacing in full blocks. For example sampleBytesWritten
cannot be used when calling commitSampleToOutput in this case
because we need to write the sample data for multiple samples
before we commit any of them.

Issue: #3026
PiperOrigin-RevId: 284541942
2019-12-09 17:57:10 +00:00
olly
567f2a6575 Fix Javadoc issues
PiperOrigin-RevId: 284509437
2019-12-09 16:47:18 +00:00
Oliver Woodman
bdcdabac01 Finalize release notes 2019-12-06 23:42:52 +00:00
olly
7e93c5c0b6 Enable physical display size hacks for API level 29
For AOSP TV devices that might not pass manual verification.

PiperOrigin-RevId: 284154763
2019-12-06 23:28:05 +00:00
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