Questions tagged [exoplayer2.x]

ExoPlayer 2.x is a major iteration of the ExoPlayer (an open source, application level media player built on top of Android’s low level media APIs) library with significant API and architectural improvements.

ExoPlayer 2.x includes significant architectural improvements of ExoPlayer and new features.

Key architectural changes:

  • Late binding between rendering and media source components. Allows the same rendering components to be re-used from one playback to another. Enables features such as gapless playback through playlists and DASH multi-period support.

  • Improved track selection design. More details can be found here.

  • LoadControl now used to control buffering and loading across all playback types.

  • Media source components given additional structure. A new MediaSource class has been introduced. MediaSources expose Timelines that describe the media they expose, and can consist of multiple MediaPeriods. This enables features such as seeking in live playbacks and DASH multi-period support.

  • Responsibility for loading the initial DASH/SmoothStreaming/HLS manifest is promoted to the corresponding MediaSource components and is no longer the application's responsibility.

  • Higher level abstractions such as SimpleExoPlayer have been added to the library. These make the library easier to use for common use cases. The demo app is halved in size as a result, whilst at the same time gaining more functionality. Read more here.

  • Enhanced library support for implementing audio extensions.

  • Format and MediaFormat are replaced by a single Format class.

Key new features:

  • Playlist support. Includes support for gapless playback between playlist items and consistent application of LoadControl and TrackSelector policies when transitioning between items.

  • Seeking in live playbacks for DASH and SmoothStreaming.

  • DASH multi-period support.

  • MediaSource composition allows MediaSources to be concatenated into a playlist, merged and looped.

  • Looping support.

  • Ability to query information about all tracks in a piece of media (including those not supported by the device).

  • Improved player controls.

  • Support for PSSH in fMP4 moof atoms.

  • Support for Opus in Ogg.

  • CacheDataSource support for standalone media file playbacks (mp3, mp4 etc).

  • FFMPEG extension (for audio only).

In case of building a new media app, recommend building it on ExoPlayer 2.X. For those who are using ExoPlayer 1.X, you can include both 1.X and 2.X in your app (due to a different package name), allowing you to test and migrate your users with minimal impact.

800 questions
4
votes
1 answer

Multiple and frequent playback notifications from Exoplayer PlayerNotificationManager for live-stream video played using exoplayer2

I am using Explayer PlayerNotificationManger to show playback notifications for live-stream video played using Exoplayer2. I have followed this medium blog and implemented the same. However, when the code runs on the device, it shows a…
4
votes
0 answers

Stream loudness normalization (ExoPlayer)

Is there any way to normalize loudness while audio streaming (live) via ExoPlayer? I have seen some discussions on ExoPlayer repository but nobody seems to have any solution.
4
votes
0 answers

HLS Caching with CacheUtil

We are using Exoplayer 2.9.4 and HLS video format. When trying manually cache next video with CacheUtil's cache method, EOFException occurs, but it is working great with mp4. Probably it happens because of caching playlist file instead of video…
Bulat Motygullin
  • 83
  • 1
  • 1
  • 4
4
votes
1 answer

ExoPlayer shuffle doesn't reproduce all the songs

I am creating a music player using exoplayer library. Everything works fine except the shuffle that is no behaving as I expect. The problem that I have is the following: Imagine that I have 5 songs: song 1 song 2 song 3 song 4 song 5 and I am in…
Iban Arriola
  • 2,526
  • 9
  • 41
  • 88
4
votes
2 answers

ExoPlayer : setNotificationListener is deprecated

the latest update of Exoplayer com.google.android.exoplayer:exoplayer:2.10.1 I noticed that the setNotificationListener method is now deprecated, documentation said : @param notificationListener The {@link NotificationListener}. @deprecated…
4
votes
1 answer

How to add exoplayer in facebook litho for android

I have seen news feed example using fb litho. There is no any example for video play using litho. We want a example like news feed with video play or can you please provide any example or suggestion to add exoplayer in litho.
Namdev Londhe
  • 111
  • 2
  • 16
4
votes
2 answers

How to set CloudFront Cookies in Exoplayer Android library for HLS streaming?

Where and how do we set cloudfront cookies for HLS streaming in Exoplayer Android library. Is it with DEFAULT COOKIES MANAGER? What is exact way to set cookies. Till now no exact solutions from any links
4
votes
2 answers

How to implement ExoPlayer with Databinding?

I have a class activity_player layout in which I have exoplayer2.ui.PlayerView and I created exo_player_control_view so that it overrides default controls in ExoPlayer. So I wanted to use Databinding in newly created custom control view but don't…
musooff
  • 6,412
  • 3
  • 36
  • 65
4
votes
0 answers

My Exoplayer player gives me an error when I use DASH

06-26 12:32:30.141 16571-16980/com.example.dell.exoplayer_test E/ExoPlayerImplInternal: Source error. com.google.android.exoplayer2.ParserException: org.xmlpull.v1.XmlPullParserException: unterminated entity ref (position:TEXT @1:218 in…
dbenitobaldeon
  • 324
  • 3
  • 20
4
votes
1 answer

Exoplayer Source Error

After following the example given at the developer guide, i'm getting the following: 05-23 16:25:22.002 11893-11942/com.app.videotest E/ExoPlayerImplInternal: Source error. Setup: // 1. Create a default TrackSelector BandwidthMeter…
Barazu
  • 489
  • 6
  • 10
4
votes
1 answer

ExoPlayer in MVVM

I am trying to use exoplayer in my app, and i am following MVVM design pattern, i want to make PlayerViewModel class where it handle all the actions of player (play tracks,pause,next,... so on), but i faced a problem that i need to initialize the…
Muhamed Raafat
  • 257
  • 5
  • 14
4
votes
0 answers

Exoplayer 2 Quality Renditions like 320p, 480p, 720p and 1080p

I am looking to implement Quality renditions option like (320p, 480p, 720p, and 1080p)the way YouTube supports using Exoplayer 2. Really tried hard to look for answers but could not find anything. As I am new to Exoplayer, henceforth it will be…
Jatin Bhatia
  • 248
  • 4
  • 15
4
votes
2 answers

Get everything in from ExoPlayer Cache

Using https://google.github.io/ExoPlayer/doc/reference/com/google/android/exoplayer2/upstream/cache/CacheDataSourceFactory.html is there a way to grab all the MediaSources that have been cached?
Nic Capdevila
  • 1,495
  • 14
  • 27
4
votes
1 answer

Only Audio player for Exoplayer 2 (No video)

Currently i have created SimpleExoplayer using below https://github.com/googlecodelabs/exoplayer-intro/tree/master/exoplayer-codelab-01 UI for SimpleExoplayer has video view and controls. Removing and/or customizing video view did not worked…
kunal.c
  • 2,739
  • 1
  • 18
  • 24
4
votes
3 answers

ExoPlayer - changing thumb in DefaultTimeBar

As I understand from releas note of version 2.4.0 ExoplayerSeekBar was replaced by DefaultTimeBar. https://github.com/google/ExoPlayer/blob/dev-v2/RELEASENOTES.md As I can seen, as on 19Feb2017:…
Nimdokai
  • 787
  • 1
  • 6
  • 18