https://github.com/google/ExoPlayer

sort by:
Revision Author Date Message Commit Date
2bebd52 Merge pull request #3009 from google/dev-v2-r2.4.3 r2.4.3 30 June 2017, 18:07:03 UTC
1b64d62 Update release notes + bump version number ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=160663100 30 June 2017, 17:57:16 UTC
43daf0f Update MIME type in FLAC test data ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=159104188 30 June 2017, 17:54:37 UTC
a579b8d Fix DvbParser bug Issue: #2957 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=160628086 30 June 2017, 17:41:34 UTC
79f7db7 Prefer Google over MediaTek for PCM decoding pre-O. Issue: #2873 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=160520136 30 June 2017, 17:40:54 UTC
df84f29 Clarify JavaDoc of MediaPeriod. Two of MediaPeriod's methods are only called after the media period has been prepared. Added this to JavaDoc of these method to simplify implementations. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=160510373 30 June 2017, 17:40:48 UTC
c33d16d Show larger scrubber handle when focused Also remove updateScrubberState as it doesn't do anything useful. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=160496133 30 June 2017, 17:40:39 UTC
efd17f8 Add URLs EXT-X-STREAM-INF uris only once This prevents ExoPlayer from thinking there are many more video tracks than there actually are. And will prevent downloading multiple times the same rendition once offline support for HLS is added. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=160285777 30 June 2017, 17:40:13 UTC
6c24d93 Fix FLAC extension native part compilation In the latest NDK version (r15) compilation fails because 'memset' isn't defined. Included cstring header. Issue: #2977 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=160139022 30 June 2017, 17:39:25 UTC
2f7de7d Merge ContentDataSource fixes + tests from GitHub https://github.com/google/ExoPlayer/pull/2963/files https://github.com/google/ExoPlayer/commit/8bb643976fe20d1ec684291aa7bf5337e474bec4 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=160128047 30 June 2017, 17:39:16 UTC
a5eba01 Update DrmSessionException. Make DrmSessionException takes in Throwable cause instead of Exception cause, which is more limiting and doesn't add any benefit. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=160121486 30 June 2017, 17:39:04 UTC
045a153 Clean up okhttp datasource. 30 June 2017, 17:38:56 UTC
d4e598f Make OkHttpDataSource userAgent parameter optional 30 June 2017, 17:38:47 UTC
fd9b162 Fix setSelectionOverride(index, tracks, null) Issue: #2988 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=159958591 30 June 2017, 17:37:11 UTC
d293cc4 Mini cleanup 30 June 2017, 17:37:03 UTC
5eb64db Fix ContentDataSource and enhance tests to validate read data 30 June 2017, 17:36:56 UTC
795e3be null AssetFileDescriptors support added in `ContentDataSource` 30 June 2017, 17:36:48 UTC
66c461e Comments from https://github.com/google/ExoPlayer/pull/2963#discussion_r122669328 applied 30 June 2017, 17:36:41 UTC
a0a50ac InputStream creation for ContentDataSource changed 30 June 2017, 17:36:33 UTC
4b8cddb Introduced failing unit test for ContentDataSource 30 June 2017, 17:36:21 UTC
76faa5b Move clearing of joining deadline back to onStopped ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=159421000 30 June 2017, 17:34:46 UTC
92206b9 TTML: Ignore regions that don't declare origin and extent Issue: #2953 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=159218386 30 June 2017, 17:33:51 UTC
e618080 Adjust incorrect looking max-channel counts Issue: #2940 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=159099602 30 June 2017, 17:33:42 UTC
e8ee868 Add support for mono input to the GVR extension Issue: #2710 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=159082518 30 June 2017, 17:31:02 UTC
facfa52 Log frame counts when we see a spurious audio timestamp ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=158977741 30 June 2017, 17:30:51 UTC
3ada4e1 Merge pull request #2952 from google/dev-v2-r2.4.2 r2.4.2 14 June 2017, 18:53:04 UTC
4e578a1 Increase MP3 sniffing distance Issue: #2951 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=158960483 14 June 2017, 18:44:38 UTC
80be637 Allow overriding of getCodecMaxValues ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=158686545 12 June 2017, 09:37:00 UTC
4510abf Update handled schemes for timing element resolution. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=158269487 12 June 2017, 09:36:52 UTC
df99922 Bump version + update release notes ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=158153988 06 June 2017, 17:25:31 UTC
fb7cb50 Expose current scrubber position through onScrubStart Issue: #2910 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=158149904 06 June 2017, 17:25:22 UTC
1ac8420 Constraint buffered percentage to [0,100] Issue: #2902 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=158142754 06 June 2017, 16:53:07 UTC
6430831 Pass non-null logger into DefaultDrmSessionManager Issue: #2903 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=158142226 06 June 2017, 16:53:01 UTC
a0c8848 For HLS mode, pick the lowest PID track for each track type This prevents strange behaviors for streams that changes the track declaration order in the PMT. NOTE: This should not change ANY behavior other than the one described above. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=158140890 06 June 2017, 16:52:54 UTC
79048ff Further cleanup of updateSelectedTrack - Return early if the selection is unchanged. - Remove unnecessary variables. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=158138187 06 June 2017, 16:52:47 UTC
8241bb8 Fix a minor bug with AdaptiveTrackSelection. When updating track selection, we should only revert back from ideal track selection to current track selection if the currently selected track is not black-listed. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=158135644 06 June 2017, 16:52:39 UTC
df5e75b Pick the lowest quality video when capabilities are exceeded Issue:#2901 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=158006727 06 June 2017, 16:52:33 UTC
cc748c3 Add a null check in DummySurface static initializer ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=157958694 06 June 2017, 16:52:26 UTC
9796a09 Assume CBR for MP3s with Info headers Issue: #2895 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=157841519 06 June 2017, 16:52:18 UTC
c36793a Move adaptation disabling workaround into MediaCodecUtil This is necessary to make sure that the correct thing happens where MediaCodecInfo.adaptive is queried directly (for example, MediaCodecVideoRenderer uses the field to determine how to size input buffers). Also disable adaptive on Nexus 10. Issue: #2806 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=157583473 06 June 2017, 16:52:10 UTC
80600ff Ignore invalid EXT-X-PLAYLIST-TYPE values Issue:#2889 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=157571216 06 June 2017, 16:52:01 UTC
c80b60f Constraint seeks within bounds for ConstantBitrateSeeker We do this everywhere for index based seeking already. Issue: #2876 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=157568788 06 June 2017, 16:51:54 UTC
854c8d0 Fix DefaultTimeBar invalidation Issue: #2871 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=157562792 06 June 2017, 16:51:48 UTC
2795269 Use AVERAGE-BANDWIDTH instead of BANDWIDTH when available Also prevent BANDWIDTH's regex from matching the AVERAGE-BANDWIDTH attribute. Issue:#2863 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=157219453 06 June 2017, 16:51:40 UTC
5a754fe Don't fail if we find a track is unsupported Use AUDIO_UNKNOWN instead. This is in line with our handling of video tracks with VIDEO_UNKNOWN. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=157209428 06 June 2017, 16:51:33 UTC
67cb7d8 Fix SmoothStreaming Timeline There were a few things wrong. Specifically the case in the ref'd issue. Also, the timeline was being marked as non-dynamic in the empty-but-live case (it should be marked dynamic as segments may be added later). Issue: #2760 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=157103727 06 June 2017, 16:50:49 UTC
22137f6 Flexibilize Util.parseXsDateTime to allow single digit hour ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=156999955 06 June 2017, 16:50:43 UTC
10f8944 Don't select more than one audio/video/text track by default Issue: #2618 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=156986606 06 June 2017, 16:50:35 UTC
9f81485 Merge pull request #2860 from google/dev-2.4.1-rc r2.4.1 23 May 2017, 17:12:22 UTC
fe50459 Bump version and update release notes ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=156872383 23 May 2017, 16:58:33 UTC
c14a14e Update gradle + bintray-release ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=156860658 23 May 2017, 16:58:27 UTC
bf71ad4 Fix TTML positioning Issue: #2824 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=156781252 23 May 2017, 16:20:35 UTC
fb3c190 Clear the correct buffer in MediaCodecRenderer ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=156131086 23 May 2017, 16:19:55 UTC
a4a3154 Clear up BaseRenderer.disable - Call onDisabled last. onDisabled really shouldn't be doing anything with the stream, so pretty sure this is fine (and guarantees the stream is cleared properly even if onDisabled throws a RTE). - Remove super.onDisabled calls from Text/Metadata renderers. This is just for consistency; we don't make such calls in other direct descendants of BaseRenderer. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=156130640 23 May 2017, 16:19:43 UTC
a0f4bf0 Constrain DefaultTimeBar maximum positions ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=156113616 23 May 2017, 16:19:22 UTC
ecc4184 Enable neon for libvpx on arm64-v8a ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=156077889 23 May 2017, 16:19:08 UTC
e7ec4e6 Enlarge size of data array of parsable packetArray if ogg packet size exceeds the current size. https://github.com/google/ExoPlayer/issues/2782 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=156018137 23 May 2017, 16:18:50 UTC
1cda6e0 Add support for AVC Level 5.2 23 May 2017, 16:18:38 UTC
9a2cac7 Refactor: Change the position of variable. 23 May 2017, 16:18:25 UTC
7eadfb1 Fix wrap_content handling in DefaultTimeBar Issue: #2788 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155705318 11 May 2017, 06:43:41 UTC
8d6f5d8 Make MODE_SINGLE_PMT the default mode Even though this is not strictly spec compliant, this will make exoplayer behave like it used to before multiple program support. Developers who want to take advantage of the multiple program support are probably less than the ones who only want their stream to "just work". This is particularly useful for streams obtained after a filtering component, like a tv tuner. Issue:#2757 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155486122 11 May 2017, 06:43:34 UTC
70b6285 Propagate playlist loading error if it prevents playback This imitates DashMediaSource's behavior. Issue:#2623 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155485738 11 May 2017, 06:43:27 UTC
51132f5 Make removal of non-existent cache span a no-op ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155413733 11 May 2017, 06:42:58 UTC
1d6816d Avoid process death if OOM occurs on a loading thread This is most commonly caused by malformed media, where the media indicates that something we need to make an allocation for is *really huge*. Failing playback is appropriate for this case; killing the process is not. Issue: #2780 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155408062 11 May 2017, 06:42:51 UTC
963b7cb Fix interpolation for rate/pitch adjustment Based on https://github.com/waywardgeek/sonic/commit/7b441933. Issue: #2774 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155349817 11 May 2017, 06:42:41 UTC
2d2fcf1 Use native byte order for SimpleOutputBuffers The default byte order for ByteBuffers is big endian, but platform decoder output buffers use native byte order. AudioProcessors handle native byte order input/output. When using a software audio decoding extension the Sonic audio processor would receive big endian input but was outputting to a native byte order buffer, which could be little endian. This mismatch caused audio output to be distorted. After this change both platform decoder and extension decoder output buffers should be in native byte order. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155320973 11 May 2017, 06:42:34 UTC
65607b2 Remove fully-qualified name 11 May 2017, 06:42:27 UTC
bcee02c Don't set MAX_INPUT_SIZE to unnecessarily large values If the codec isn't adaptive, there's no need to accommodate the width/height/input-size of streams that don't have the same resolution as the current stream. This is because we'll always need to instantiate a new codec anyway. Issue: #2607 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155194458 11 May 2017, 06:42:18 UTC
68b3e0b Expose no CC tracks if CLOSED-CAPTIONS=NONE is present Issue:#2743 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155182859 11 May 2017, 06:42:12 UTC
943141f Some minor cleanup related to track selection and caching ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155103828 11 May 2017, 06:42:06 UTC
bf61691 Fix javadocs typos Issue:#2773 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155062917 11 May 2017, 06:41:59 UTC
ed836d3 Propagate EXT-X-DATERANGE tags with media playlists ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155062718 11 May 2017, 06:41:52 UTC
8bffe5d Add DummySurface for use with MediaCodec A DummySurface is useful with MediaCodec on API levels 23+. Rather than having to release a MediaCodec instance when the app no longer has a real surface to output to, it's possible to retain the MediaCodec, using MediaCodec.setOutputSurface to target a DummySurface instance instead. When the app has a real surface to output to again, it can call swap this surface back in instantaneously. Without DummySurface a new MediaCodec has to be instantiated at this point, and decoding can only start from a key-frame in the media. A future change may hook this up internally in MediaCodecRenderer for supported use cases, although this looks a little awkward. If this approach isn't viable, we can require applications wanting this to set a DummySurface themselves. This isn't easy to do with the way SimpleExoPlayerView.setPlayer works at the moment, however, so some changes will be needed either way. Issue: #677 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154931778 11 May 2017, 06:41:45 UTC
60bf31f Use Looper.getMainLooper() in Handler constructors in ExoPlayer when needed. Looper.myLooper(), the default looper, may be null in background threads. This adds a fallback to use the main app looper. This will allow ExoPlayer instances to be built in background threads in Photos. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154845446 11 May 2017, 06:41:34 UTC
e90e2ca Improve DefaultTimeBar color customization Add attributes for the scrubber handle color and unplayed color. If attributes are missing, derive defaults from the played color. Issue: #2740 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154825736 11 May 2017, 06:38:42 UTC
2e2b008 Prevent text tracks with no language being selected by default ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154421706 11 May 2017, 06:38:33 UTC
dc80be0 Improved Documentation Added missing coma and fixed typo for EventListener#onTimelineChanged 11 May 2017, 06:37:03 UTC
d979469 Merge branch 'dev-v2' into release-v2 26 April 2017, 15:23:48 UTC
b4fb8c3 Merge branch 'release-v2' into dev-v2 26 April 2017, 15:23:31 UTC
7761cdc Fill in release note TODOs ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154298148 26 April 2017, 15:16:28 UTC
1e12c07 Move renderer building into a factory class. To inject custom renderers into SimpleExoPlayer, developers currently need to extend SimpleExoPlayer and override the renderer building methods. This is in contrast to the rest of the library, where we use proper injection. This change restores consistency. I think it's fine to make SimpleExoPlayer final again, but if we find people extending it for non-renderer purposes, we can revert that part of the change. ExoPlayerFactory now has analogous methods for the simple and non-simple cases, which is a nice outcome. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154295726 26 April 2017, 14:49:35 UTC
0f9d9d5 Fix scrub seek position estimation for multi window time bar. When using a multi window time bar, the onScrubStop method uses another method to estimate the seek position than the updateProgress method for rendering the time bar. If the time line contains windows starting with an ad period followed by other content, they differ in their behaviour. - updateProgress checks all periods and leaves out all ad periods - onScrubStop only checks windows and leaves them out when the first period is an ad. Changed onScrubStop to fit approach in updateProgess. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154271628 26 April 2017, 14:18:36 UTC
f9c3742 vp9_extension: Include cstring explicitly Without this, newer android NDKs (r14+) fail to compile. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154271517 26 April 2017, 14:17:41 UTC
9c2b0f6 Fix lint errors when building release ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154201059 26 April 2017, 14:16:36 UTC
b88deaa Bump version and update release notes ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154198359 26 April 2017, 14:15:32 UTC
9d76ab7 vp9_extension: Update libyuv build configuration Disable libjpeg dependency when building libyuv. Partially fixes Github Issue #2661 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154179126 26 April 2017, 14:12:51 UTC
c50cfd8 Minor additional cleanup of multiple DVB subtitles per PID support 25 April 2017, 15:41:04 UTC
f903098 Merge branch 'dev-v2' of persistent-https://github.com/google/ExoPlayer into dev-v2 25 April 2017, 15:38:06 UTC
fb88087 Tweak video renderer surface swaps Fixes the following issues: 1. When a surface is set, it's expected that the renderer will notify video size + when a frame is rendered to it. This is true even if the surface isn't changing. Right now this is achieved by setting renderedFirstFrame to false, but this is problematic in the case that the surface isn't changing because (a) it will force rendering of a subsequent frame to the output even when paused, which is incorrect, and (b) isReady will return false until this occurs. 2. When the surface really is changing, isReady can return false until the first frame has been rendered into the new surface, which will break seamless surface switching. This change allows isReady to return true up to allowedJoiningTimeMs for this case. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154171111 25 April 2017, 15:35:40 UTC
e07b8fe Parse ColorInfo from WebM Container and set it on MediaFormat. * colorSpace, colorRange and colorTransfer are relevant to all videos. * The rest of the fields are relevant only to HDR videos. * Tested on a prototype device that decodes VP9 profile 2, 10 bit. * The Webm spec spells color as 'colour' so the webm id reference use the same spelling. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154098189 25 April 2017, 15:34:19 UTC
d3fe20c Check the type of the (non-initial) loaded HLS playlist This prevents illegal casts. Issue:#2702 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154078240 24 April 2017, 20:38:33 UTC
f0a72c4 Fix playback of DASH/VP9/SegmentList DASH content ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154077149 24 April 2017, 20:37:33 UTC
8e8a6a2 Support efficient switching between SimpleExoPlayerView instances Prior to this change, the only way to switch SimpleExoPlayerView was to do: oldView.setPlayer(null); newView.setPlayer(player); This would cause the video renderer to have to transition through oldSurface->noSurface->newSurface, which is inefficient (noSurface requires platform decoders to be fully released). After this change we support: newView.setPlayer(player); oldView.setPlayer(null); This results in direct oldSurface->newSurface transitions, which are seamless on Android M and above. The change also adds some robustness against developers ending up with strange behavior as a result of clearing the player from a view in a different ordering than we expect w.r.t. registering of other listeners. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154044976 24 April 2017, 20:35:24 UTC
4c0b539 Allow disabling hide on touch for SimpleExoPlayerView Issue: #2501 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=154036726 24 April 2017, 20:34:12 UTC
e1c82fb Libvpx: configure a way in Medialib to drop frames instead of video lag. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=153858804 24 April 2017, 20:33:01 UTC
51de6e5 Clean up multiple DVB subtitles per PID support 24 April 2017, 15:58:01 UTC
68ff7e0 Merge branch 'tresvecesseis-dev-v2-dvbsubs-leftovers' into dev-v2 24 April 2017, 14:31:38 UTC
aa43556 Merge branch 'dev-v2-dvbsubs-leftovers' of git://github.com/tresvecesseis/ExoPlayer into tresvecesseis-dev-v2-dvbsubs-leftovers 24 April 2017, 14:31:19 UTC
860eb26 Misc cleanup for merged pull requests 21 April 2017, 17:09:01 UTC
5381b4e Merge pull request #2683 from tylerjroach/dev-v2 Added mp3 support to FLV extractor 21 April 2017, 16:57:18 UTC
back to top