https://github.com/google/ExoPlayer

sort by:
Revision Author Date Message Commit Date
51acd81 Merge pull request #6150 from google/dev-v2-r2.10.3 r2.10.3 14 July 2019, 17:01:01 UTC
1275217 Add missing file header PiperOrigin-RevId: 257630168 14 July 2019, 15:35:48 UTC
f314be5 fix typo in release notes PiperOrigin-RevId: 257185017 09 July 2019, 15:19:56 UTC
1273f18 Fix syntax error in publish.gradle PiperOrigin-RevId: 257184313 09 July 2019, 15:19:51 UTC
fdef76c Bump version to 2.10.3 PiperOrigin-RevId: 257161518 09 July 2019, 10:58:15 UTC
be9fea8 Fix race condition in DownloadHelper Sending MESSAGE_PREPARE_SOURCE should happen last in the constructor. It was previously happening before initialization finished (and in particular before pendingMediaPeriods was instantiated). Issue: #6146 PiperOrigin-RevId: 257158275 09 July 2019, 10:48:54 UTC
dbabb7c Apply playback parameters in a consistent way. Currently, we sometimes apply new playback parameters directly and sometimes through the list of playbackParameterCheckpoints. Only when using the checkpoints, we also reset the offset and corresponding position for speedup position calculation. However, these offsets need to be changed in all cases to prevent calculation errors during speedup calculation[1]. This change channels all playback parameters changes through the checkpoints to ensure the offsets get updated accordingly. This fixes an issue introduced in https://github.com/google/ExoPlayer/commit/31911ca54a13b0003d6cf902b95c2ed445afa930. [1] - The speed up is calculated using the ratio of input and output bytes in SonicAudioProcessor.scaleDurationForSpeedUp. Whenever we set new playback parameters to the audio processor these two counts are reset. If we don't reset the offsets too, the scaled timestamp can be a large value compared to the input and output bytes causing massive inaccuracies (like the +20 seconds in the linked issue). Issue:#6117 PiperOrigin-RevId: 256533780 09 July 2019, 10:40:39 UTC
1d766c4 Play out remaining data on reconfiguration Before this change we'd release the audio track and create a new one as soon as audio processors had drained when reconfiguring. Fix this behavior by stop()ing the AudioTrack to play out all written data. Issue: #2446 PiperOrigin-RevId: 244812402 09 July 2019, 10:39:36 UTC
b3495df Update release notes 09 July 2019, 10:36:42 UTC
6fd235f Merge pull request #5732 from ToxicBakery:feature/add-license-to-pom PiperOrigin-RevId: 257138448 09 July 2019, 10:33:31 UTC
d035f24 CEA608: Fix repeated Special North American chars. We currently handle most the control code logic after handling special characters. This includes filtering out repeated control codes and checking for the correct channel. As the special character sets are control codes as well, these checks should happen before parsing the characters. Issue:#6133 PiperOrigin-RevId: 256993672 09 July 2019, 10:33:21 UTC
1538e5d CEA608: no-op readability clean-up PiperOrigin-RevId: 256676196 09 July 2019, 10:33:15 UTC
91728d4 Merge pull request #5908 from sr1990:dev-v2 PiperOrigin-RevId: 256147805 09 July 2019, 10:32:28 UTC
3d5d237 FLV extractor fixes 1. Only output video starting from a keyframe 2. When calculating the timestamp offset to adjust live streams to start at t=0, use the timestamp of the first tag from which a sample is actually output, rather than just the first audio/video tag. The test streams in the referenced GitHub issue start with a video tag whose packet type is AVC_PACKET_TYPE_SEQUENCE_HEADER (i.e. does not contain a sample) and whose timestamp is set to 0 (i.e. isn't set). The timestamp is set correctly on tags that from which a sample is actually output. Issue: #6111 PiperOrigin-RevId: 256147747 09 July 2019, 10:32:05 UTC
c4c7f4b MediaSessionConnector: Document how to provide metadata asynchronously Issue: #6047 PiperOrigin-RevId: 255992898 09 July 2019, 10:31:36 UTC
71e0f2e Don't consume touch events if no controller is attached. Issue:#6109 PiperOrigin-RevId: 255933121 09 July 2019, 10:31:24 UTC
5365272 Use the floor of the frame rate for capability checks PiperOrigin-RevId: 255584000 09 July 2019, 10:31:11 UTC
d3e7ea8 call setPlayWhenReady in any case ISSUE: #6093 PiperOrigin-RevId: 255471282 09 July 2019, 10:30:59 UTC
cdf70ed Remove unnecessary FileDescriptor sync PiperOrigin-RevId: 255380796 09 July 2019, 10:30:38 UTC
d57a858 Add threading model note to hello-word page Also add layer of indirection between code and the guide, to make moving content easier going forward. PiperOrigin-RevId: 255182216 09 July 2019, 10:30:22 UTC
e3f1332 Update TrackSelectionDialog.java Fix a super tiny typo. 09 July 2019, 10:29:59 UTC
18f1b06 Fix all FIXME comments. These are mostly nullability issues. PiperOrigin-RevId: 253537068 09 July 2019, 10:29:45 UTC
feefaac Gracefully handle revoked ACCESS_NETWORK_STATE permission. This permission has normal access right and can't be revoked by the user. However, an app can choose to revoke it when using ExoPlayer, e.g. if no network is required and the app doesn't want to list this permission. Support this use case by gracefully catching the exception in the relevant places. Issue:#6019 PiperOrigin-RevId: 253759332 09 July 2019, 10:29:18 UTC
1c7bb28 Merge pull request #6055 from xirac:dev-v2 PiperOrigin-RevId: 254182080 09 July 2019, 10:27:31 UTC
913dcb3 Display last frame when seeking to end of stream. We currently don't display the last frame because the seek time is behind the last frame's timestamps and it's thus marked as decodeOnly. This case can be detected by checking whether all data sent to the codec is marked as decodeOnly at the time we read the end of stream signal. If so, we can re-enable the last frame. This should work for almost all cases because the end-of-stream signal is read in the same feedInputBuffer loop as the last frame and we therefore haven't released the last frame buffer yet. Issue:#2568 PiperOrigin-RevId: 251425870 09 July 2019, 09:54:31 UTC
1ab402c Create player-accessed-on-wrong-thread.md 26 June 2019, 08:59:55 UTC
f6297f4 Merge pull request #5986 from google/dev-v2-r2.10.2 r2.10.2 23 June 2019, 15:15:27 UTC
b9c8861 Disable publishEnabled Issue: #6016 21 June 2019, 18:59:39 UTC
4703ce1 Fix ad pod index offset calculation without preroll Issue: #5928 PiperOrigin-RevId: 254379085 21 June 2019, 17:38:45 UTC
fbf5842 Release notes language tweaks PiperOrigin-RevId: 254156143 21 June 2019, 17:37:57 UTC
6799097 Fix decoder fallback for E-AC3 JOC to E-AC3 Issue: #6073 21 June 2019, 10:50:12 UTC
c8955ed Fix build 19 June 2019, 17:59:31 UTC
66e1211 allow multiple style rules in a STYLE block of a webvtt file PiperOrigin-RevId: 253959976 19 June 2019, 17:54:41 UTC
5d54497 keep notification when stop(false) is called ISSUE: #6041 PiperOrigin-RevId: 253958225 19 June 2019, 17:53:43 UTC
0f514a0 Update release notes for 2.10.2 cherrypicks PiperOrigin-RevId: 253808562 19 June 2019, 17:53:36 UTC
8286e1d Prevent negative renderer timestamps when seeking back. We are currently queuing periods in a way such that the new start position lines up with the end of the previous period (to ensure continuous playback). However, if the start position of the new period is larger than the total of all previously played period durations, we may end up with negative renderer timestamps when seeking back to the beginning of this new period. Negative timestamps should be avoided as most decoders have problems handling them correctly. This change forces a renderer reset if we detect such a seek to a negative renderer time and also resets the renderer offset to 0 every time all renderers are disabled, as this is the only time where we can savely change the offset of an existing media period. Also, if playback starts with an ad, we choose the content position as renderer offset to prevent the whole issue from occurring for the seek-behind- midroll case. Issue:#6009 Issue:#5323 PiperOrigin-RevId: 253790054 19 June 2019, 17:52:56 UTC
def01f6 Let AudioTrack write headers on SDK_INT >= 26 Issue: #6031 PiperOrigin-RevId: 253784986 19 June 2019, 17:52:20 UTC
d072a52 Fix application of maxAudioBitrate for adaptive audio track groups Issue:#6006 PiperOrigin-RevId: 253781533 19 June 2019, 17:52:13 UTC
9da2c33 Prevent negative total buffered duration at the point where it is calculated. In some edge cases the renderer position may be slightly ahead of the buffered position and the total buffered duration is thus negative. We already filter that in ExoPlayerImpl for the publicly accessible value. However, we forward the unfiltered value to other components like the LoadControl, which may be confusing. Issue:#6015 PiperOrigin-RevId: 253780460 19 June 2019, 17:51:38 UTC
a090f7e Remove unused variable PiperOrigin-RevId: 253762488 19 June 2019, 17:51:33 UTC
e1ff3d0 Gracefully handle revoked ACCESS_NETWORK_STATE permission. This permission has normal access right and can't be revoked by the user. However, an app can choose to revoke it when using ExoPlayer, e.g. if no network is required and the app doesn't want to list this permission. Support this use case by gracefully catching the exception in the relevant places. Issue:#6019 PiperOrigin-RevId: 253759332 19 June 2019, 17:51:25 UTC
76b9175 Add bug report section to question and content_not_playing issue templates. PiperOrigin-RevId: 253593267 19 June 2019, 17:50:41 UTC
7f435b4 Merge pull request #6036 from angelrc96:dev-v2 PiperOrigin-RevId: 253228214 19 June 2019, 17:50:33 UTC
692f415 Support for UDP data source 19 June 2019, 17:49:41 UTC
7e40708 add sections for bug report and link to test content 18 June 2019, 18:43:29 UTC
67879f9 add sections asking for bug report 18 June 2019, 18:42:39 UTC
95c08ad tell user that #1234 should be the issue number 18 June 2019, 18:41:01 UTC
d3967b5 Don't throw DecoderQueryException from getCodecMaxSize It's only thrown in an edge case on API level 20 and below. If it is thrown it causes playback failure when playback could succeed, by throwing up through configureCodec. It seems better just to catch the exception and have the codec be configured using the format's own width and height. PiperOrigin-RevId: 251745539 06 June 2019, 16:41:52 UTC
f638634 Simplify re-creation of the CastPlayer queue in the Cast demo app PiperOrigin-RevId: 251617354 06 June 2019, 16:41:44 UTC
2f8c8b6 Fix detection of current window index in CastPlayer Issue:#5955 PiperOrigin-RevId: 251616118 06 June 2019, 16:41:27 UTC
83a6d51 Use listener notification batching in CastPlayer PiperOrigin-RevId: 251399230 06 June 2019, 16:41:21 UTC
edee3dd Bump to 2.10.2 PiperOrigin-RevId: 251216822 03 June 2019, 18:20:22 UTC
578abcc Add SilenceMediaSource Issue: #5735 PiperOrigin-RevId: 248745617 03 June 2019, 15:37:39 UTC
d11778d Add ResolvingDataSource for just-in-time resolution of DataSpecs. Issue:#5779 PiperOrigin-RevId: 249234058 03 June 2019, 15:36:23 UTC
19de134 CEA608: Handling XDS and TEXT modes 03 June 2019, 15:35:11 UTC
c231e11 Fix misreporting cached bytes when caching is paused When caching is resumed, it starts from the initial position. This makes more data to be reported as cached. Issue:#5573 PiperOrigin-RevId: 250678841 31 May 2019, 22:03:59 UTC
811cdf0 Modify DashDownloaderTest to test if content length is stored PiperOrigin-RevId: 250655481 31 May 2019, 22:01:21 UTC
bbf8a9a Simplify CacheUtil PiperOrigin-RevId: 250654697 31 May 2019, 22:01:15 UTC
92e2581 Fix CacheUtil.cache() use too much data cache() opens all connections with unset length to avoid position errors. This makes more data then needed to be downloading by the underlying network stack. This fix makes makes it open connections for only required length. Issue:#5927 PiperOrigin-RevId: 250546175 31 May 2019, 22:01:01 UTC
25e93a1 Toggle playback controls according to standard Android click handling. We currently toggle the view in onTouchEvent ACTION_DOWN which is non-standard and causes problems when used in a ViewGroup intercepting touch events. Switch to standard Android click handling instead which is also what most other player apps are doing. Issue:#5784 PiperOrigin-RevId: 245219728 31 May 2019, 21:57:50 UTC
b9f3fd4 Make parallel adaptive track selection more robust. Using parallel adaptation for Formats without bitrate information currently causes an exception. Handle this gracefully and also cases where all formats have the same bitrate. Issue:#5971 PiperOrigin-RevId: 250682127 31 May 2019, 21:46:13 UTC
d626e4b Rename host_activity.xml to avoid manifest merge conflicts. PiperOrigin-RevId: 250672752 31 May 2019, 21:45:49 UTC
7cdcd89 Update cast extension build PiperOrigin-RevId: 250664791 31 May 2019, 21:45:41 UTC
9860c48 Keep controller visible on d-pad key events PiperOrigin-RevId: 250661977 31 May 2019, 21:45:24 UTC
9da9941 Fix TTML bitmap subtitles + Use start for anchoring, instead of center. + Add the height to the TTML bitmap cue rendering layout. Issue:#5633 PiperOrigin-RevId: 250519710 31 May 2019, 21:41:10 UTC
082aee6 Allow passthrough of E-AC3-JOC streams PiperOrigin-RevId: 250517338 31 May 2019, 21:40:25 UTC
41ab7ef Fix video size reporting in surface YUV mode In surface YUV output mode the width/height fields of the VpxOutputBuffer were never populated. Fix this by adding a new method to set the width/height and calling it from JNI like we do for GL YUV mode. PiperOrigin-RevId: 250449734 31 May 2019, 21:38:55 UTC
8bc14bc Allow enabling decoder fallback in DefaultRenderersFactory Also allow enabling decoder fallback with MediaCodecAudioRenderer. Issue: #5942 PiperOrigin-RevId: 250301422 31 May 2019, 21:38:32 UTC
5d72942 Fix VP9 build setup Update configuration script to use an external build, so we can remove use of isysroot which is broken in the latest NDK r19c. Also switch from gnustl_static to c++_static so that ndk-build with NDK r19c succeeds. Issue: #5922 PiperOrigin-RevId: 250287551 31 May 2019, 21:37:25 UTC
42ffc52 Fix anchor usage in SubtitlePainter's setupBitmapLayout According to Cue's constructor (for bitmaps) documentation: + cuePositionAnchor does horizontal anchoring. + cueLineAnchor does vertical anchoring. Usage is currently inverted. Issue:#5633 PiperOrigin-RevId: 250253002 31 May 2019, 21:37:14 UTC
9b104f6 Reset upstream format when empty track selection happens PiperOrigin-RevId: 249819080 31 May 2019, 21:36:16 UTC
2e1ea37 Fix IndexOutOfBounds when there are no available codecs PiperOrigin-RevId: 249610014 31 May 2019, 21:34:50 UTC
cf93b8e Release DownloadHelper automatically if preparation failed. This prevents further unexpected updates if the MediaSource happens to finish its preparation at a later point. Issue:#5915 PiperOrigin-RevId: 249439246 31 May 2019, 21:34:01 UTC
b1ff911 Remove mistakenly left link in vp9 readme PiperOrigin-RevId: 249417898 31 May 2019, 21:33:21 UTC
7e587ae Add missing annotations dependency Issue: #5926 PiperOrigin-RevId: 249404152 31 May 2019, 21:33:06 UTC
94c10f1 Propagate attributes to DefaultTimeBar Issue: #5765 PiperOrigin-RevId: 249251150 31 May 2019, 21:31:53 UTC
1d0618e Update surface directly from SphericalSurfaceView The SurfaceListener just sets the surface on the VideoComponent, but SphericalSurfaceView already accesses the VideoComponent directly so it seems simpler to update the surface directly. PiperOrigin-RevId: 249242185 31 May 2019, 21:30:30 UTC
e4d66c4 Update a reference to SimpleExoPlayerView PiperOrigin-RevId: 249068395 31 May 2019, 21:29:56 UTC
b4d72d1 Add ProgressUpdateListener Issue: #5834 PiperOrigin-RevId: 249067445 31 May 2019, 21:29:40 UTC
e961def Add playWhenReady to prepareXyz methods of PlaybackPreparer. Issue: #5891 PiperOrigin-RevId: 248541827 31 May 2019, 21:27:30 UTC
0a5a8f5 don't call stop before preparing the player Issue: #5891 PiperOrigin-RevId: 248369509 31 May 2019, 21:26:15 UTC
ecb7b87 Update issue template for questions 22 May 2019, 18:50:10 UTC
762a132 Update issue template for feature requests 22 May 2019, 18:48:45 UTC
a5d18f3 Update issue template for content_not_playing 22 May 2019, 18:47:45 UTC
6fa58f8 Update issue template for bugs 22 May 2019, 18:45:48 UTC
35e030f Merge pull request #5895 from google/dev-v2-r2.10.1 r2.10.1 20 May 2019, 16:39:18 UTC
9ec330e Fix platform scheduler javadoc PiperOrigin-RevId: 248503971 17 May 2019, 10:35:38 UTC
15b319c Bump release to 2.10.1 and update release notes PiperOrigin-RevId: 248503235 17 May 2019, 10:35:22 UTC
9e4b89d Ignore empty timelines in ImaAdsLoader. We previously only checked whether the reason for the timeline change is RESET which indicates an empty timeline. Change this to an explicit check for empty timelines to also ignore empty media or intermittent timeline changes to an empty timeline which are not marked as RESET. Issue:#5831 PiperOrigin-RevId: 248499118 17 May 2019, 10:34:16 UTC
6e581f5 Revert "don't call stop before preparing the player" This reverts commit 8efaf5fd7d5bdf1f55f35109a43380e8f7f6be0b. 16 May 2019, 10:48:53 UTC
8efaf5f don't call stop before preparing the player Issue: #5891 PiperOrigin-RevId: 248369509 15 May 2019, 19:15:08 UTC
7f89fa9 Add simpler HttpDataSource constructors PiperOrigin-RevId: 248350557 15 May 2019, 19:03:52 UTC
6e9df31 Add links to the developer guide in some READMEs PiperOrigin-RevId: 248221982 15 May 2019, 19:03:46 UTC
3ce0d89 Allow empty values in ICY metadata Issue: #5876 PiperOrigin-RevId: 248119726 15 May 2019, 19:03:39 UTC
cea3071 Fix rendering DVB subtitle on API 28. Issue: #5862 PiperOrigin-RevId: 248112524 15 May 2019, 19:03:25 UTC
035686e Fix Javadoc generation. Accessing task providers (like javaCompileProvider) at sync time is not possible. That's why the source sets of all generateJavadoc tasks is empty. The set of source directories can also be accessed directly through the static sourceSets field. Combining these allows to statically provide the relevant source files to the javadoc task without needing to access the run-time task provider. PiperOrigin-RevId: 247938176 15 May 2019, 19:02:58 UTC
48de101 Allow line terminators in ICY metadata Issue: #5876 PiperOrigin-RevId: 247935822 15 May 2019, 19:02:34 UTC
bef386b Increase gradle heap size The update to Gradle 5.1.1 decreased the default heap size to 512MB and our build runs into Out-of-Memory errors. Setting the gradle flags to higher values instead. See https://developer.android.com/studio/releases/gradle-plugin#3-4-0 PiperOrigin-RevId: 247908526 15 May 2019, 19:00:24 UTC
1b9d018 Fix Javadoc links. PiperOrigin-RevId: 247630389 15 May 2019, 19:00:06 UTC
6ead148 Add setCodecOperatingRate workaround for 48KHz audio on ZTE Axon7 mini. Issue:#5821 PiperOrigin-RevId: 247621164 15 May 2019, 18:59:40 UTC
back to top