Commit graph

16910 commits

Author SHA1 Message Date
christosts
63a32e85c5 Session demo: update playlist add/remove icons
PiperOrigin-RevId: 421256149
2022-01-25 17:53:42 +00:00
hschlueter
725b861f54 Allow multiple Transformer listeners to be registered.
Multiple listeners can be added to Transformer and its builder.
All or specific listeners can also be removed.

PiperOrigin-RevId: 421047650
2022-01-25 17:52:29 +00:00
andrewlewis
085042d6aa Fix minor exoplayer.dev issues
PiperOrigin-RevId: 422349626
2022-01-25 17:51:17 +00:00
hschlueter
b0ae7c04d5 Remove MediaCodecAdapter dependency from Transformer.
Codec and its factories can use MediaCodec directly as for API >= 21,
the SynchronousMediaCodecAdapter methods used in Codec just correspond
to a single MediaCodec call each so there is no reason to have another
wrapping layer.

PiperOrigin-RevId: 421041177
2022-01-25 17:51:11 +00:00
hschlueter
657e8768be Update Muxer exception javadoc to match MuxerWrapper.
PiperOrigin-RevId: 421039869
2022-01-25 17:49:46 +00:00
christosts
152e986c09 Fix typo
PiperOrigin-RevId: 421036800
2022-01-25 17:48:24 +00:00
hschlueter
6070b200ae Add error code and exception type for muxing failures.
Exceptions thrown by MediaMuxer are converted MuxerExceptions
and later to TransformationExceptions with ERROR_CODE_MUXING_FAILED.

PiperOrigin-RevId: 421033721
2022-01-25 17:46:50 +00:00
Dustin
7ea2d75fcd Refactor Clock logic. Refactor peeking for MP4V and AVC. Moved AVI above MP3. 2022-01-24 16:02:37 -07:00
Marcel Dopita
6b3187ccf1 Support MKV embedded WebVTT captions 2022-01-24 18:12:43 +01:00
Dustin
09485cbed1 Passed along suggestedBufferSize to ExoPlayer 2022-01-23 14:52:53 -07:00
Dustin
43b8a9b336 Add support for StreamName fixed issues with position alignment 2022-01-23 13:45:22 -07:00
Dustin
167c2f3fc0 Fix alignment in track scanner 2022-01-23 12:10:48 -07:00
Dustin
ec26539aeb BitmapFactoryVideoRenderer improvements 2022-01-23 11:29:56 -07:00
Dustin
019aee277d Remapped MP4x to video/mp4x 2022-01-23 10:17:38 -07:00
Dustin
77a1873930 Fix bugs around seek 2022-01-23 09:22:22 -07:00
Dustin
98b487eb31 Removed unused StreamDataBox 2022-01-23 09:21:40 -07:00
Dustin
b90333af02 Clean up UnboundedIntArray 2022-01-23 09:21:11 -07:00
Dustin
3daa74dceb Tests for AudioFormat, VideoFormat and UnboundedIntArray 2022-01-22 22:10:12 -07:00
Dustin
c4cf876ddb Tests for Mp4vAviTrack and StreamHeaderBox 2022-01-22 20:41:39 -07:00
Dustin
3ce652ead2 Added support for DX50 2022-01-22 16:43:04 -07:00
Dustin
8d9b895f15 Fix ID10T timing error 2022-01-22 14:38:49 -07:00
Dustin
d2bb0c2cc1 Add MJPEG Support 2022-01-22 14:27:28 -07:00
Dustin
6f41585e72 AvcAviTrack cleanup 2022-01-22 09:44:10 -07:00
Dustin
5ebaafde6e Fix Avc Seek 2022-01-22 08:03:49 -07:00
Dustin
4c76bf1a9d Add file chooser to UI, Fixed timing issues on H264, Fixed PAR on XVID and H264 2022-01-21 22:25:32 -07:00
Dustin
d9afe5105b Refactor, remove dead code 2022-01-18 23:25:42 -07:00
Dustin
8d90498f79 Minor Tweaks 2022-01-18 23:04:14 -07:00
Dustin
58a2ca6083 Fix for movi with LIST('rec ') 2022-01-18 15:46:25 -07:00
Dustin
1a1dc44b84 More efficient header parsing 2022-01-18 15:28:10 -07:00
Rakesh Kumar
4b99db938a Add support for RTSP H265
Added H265 RTP packet reader and added support for H265
playback through RTSP

Change-Id: Ic0e135768bb92cd3343212c2edd84bae6947320e
2022-01-18 19:36:22 +05:30
OxygenCobalt
c2d0649ea3
Fix flac extension
Replace the flac module usage in the FLAC extension with the vorbis
module.
2022-01-18 06:28:02 -07:00
OxygenCobalt
f6bee303e7
Swap inheritance hierarchy between vorbis types
Instead of having types in flac inherit types in vorbis, make types in
vorbis inherit types in flac. This is a bit of a hack and somewhat
messy, but it retains backwards compatibility.
2022-01-18 06:18:58 -07:00
Dustin
a9c9418591 Working! 2022-01-17 22:48:13 -07:00
OxygenCobalt
9c1018679a
Fix nitpicks
Fix some more nitpicks I encountered.
2022-01-17 15:10:25 -07:00
OxygenCobalt
a4682cbff5
Fix FlacStreamMetadata compile failure
Comment concatenation was accidentally not added previously, which
results in a testing failure.
2022-01-17 10:34:49 -07:00
OxygenCobalt
fc08f866ce
Rework vorbis comment parsing
Collapse the two variations of `VorbisUtil.buildMetadata` into a single
method called `VorbisUtil.parseVorbisComments` that only takes a list
of vorbis strings, compared to previously where it would take strings
and picture frame instance. Any code that relied on the old signature
now either concatenates picture frames and vorbis comments or copies
vorbis comments into an existing metadata instance.
2022-01-17 09:59:20 -07:00
OxygenCobalt
7a88829ea6
Misc cleanup
Group up some other minor changes with the vorbis comment utils.
2022-01-17 09:17:45 -07:00
OxygenCobalt
b9191615ee
Rework OPUS comment header parsing
Simplify how the comment header is parsed and eliminate a few possible
bugs in the process, such as:
- Metadata being overwritten directly by the comments header.
- The packet being rewound to 0 if it cannot find a comment header,
which might result in the cursor being moved to a bad position.
2022-01-17 09:09:01 -07:00
OxygenCobalt
84c9d290bb
Fix overwritten docs
67e1261 messed up some of the other docs. Fix that.
2022-01-17 08:28:44 -07:00
OxygenCobalt
67e1261f7b
Revert docs to dev branch
Studio accidentally renamed some of the javadoc to reflect the new
vorbis module. Revert it to the dev javadoc, as the ExoPlayer devs
don't update the javadoc until a release.
2022-01-17 08:23:48 -07:00
OxygenCobalt
9597ecbb31
Clean up VorbisUtil
Try to eliminate some nitpicks regarding VorbisUtil.
2022-01-17 08:04:34 -07:00
OxygenCobalt
0ea8567b6b
Superclass deprecated vorbis metadata types
In the old `flac` module, superclass the deprecated types under the
moved types in the `vorbis` module. This ensures backwards compat
with existing library users.
2022-01-17 07:54:39 -07:00
tonihei
b3981be8b9 Limit adaptive selections to same level of decoder support
Adaptive video and audio selections will be limited to formats with
the same level of DecoderSupport and HardwareAccelatationSupport, unless
specifically allowed by new flags.

If different levels of decoder support are available, prefer primary
over fallback decoders and hardware-accelerated over software decoders
(in this order). For video, also prefer more efficient codecs, if both
are supported by hardware-accelerated primary decoders.

Issue: google/ExoPlayer#4835
Issue: google/ExoPlayer#9565
PiperOrigin-RevId: 422345048
2022-01-17 14:40:57 +00:00
hschlueter
4145273bc4 Revise TransformationRequest MIME type validation.
PiperOrigin-RevId: 422333929
2022-01-17 14:36:18 +00:00
hschlueter
2e7ca0b7b8 Add javadoc to TransformationRequest's public fields.
PiperOrigin-RevId: 422325859
2022-01-17 14:31:40 +00:00
ibaker
ba58be2c41 Add an anchor tag for the IMA compat URL in ImaAdsLoader javadoc
The naked URL is not hyperlinked by the javadoc compiler, meaning a user
is forced to awkwardly copy it into the address bar of their browser:
https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/ext/ima/ImaAdsLoader.html

#minor-release

PiperOrigin-RevId: 422320571
2022-01-17 14:27:04 +00:00
tonihei
327ec97e58 Reorder adaptive video track preferences.
This change moves the video track selection to the generic
selection method introcuced for audio and text. This ensures
we can apply the same criteria for fixed and adaptive video
track selections. Implicitly, this reorders the preferences
for adaptive tracks to give non-quality preferences (like
preferred MIME type or preferred role flags) a higher priority
than number of tracks in the selection.

Issue: google/ExoPlayer#9519
PiperOrigin-RevId: 422310902
2022-01-17 14:20:21 +00:00
tonihei
3f47da1fd6 Reset readingPositionUs in BaseRenderer.enable
This does currently only happen by chance in replaceStream (called from
enable) if the stream previosly played read until C.TIME_END_OF_SOURCE.

enable already makes all changes done in resetPosition (except resetting
the reading position), so it's less error-prone and makes the intention
clearer if the same code is called from both enable and resetPosition.

The effect of this bug was quite limited because the numerical value
of readingPositionUs was only relevant for periods with changing
durations and server-side inserted ads.

PiperOrigin-RevId: 422300690
2022-01-17 14:15:48 +00:00
olly
d0c13733e4 Don't sample VSYNC when not started
PiperOrigin-RevId: 421855453
2022-01-17 14:11:04 +00:00
bachinger
c4a2579b43 Inherit parent properties for manifests with dvb profile only
Issue: google/ExoPlayer#9856
PiperOrigin-RevId: 421842579
2022-01-17 14:06:06 +00:00