Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IMA demo - cannot play HLS/DASH streams. #3676

Closed
giladna opened this issue Jan 7, 2018 · 1 comment
Closed

IMA demo - cannot play HLS/DASH streams. #3676

giladna opened this issue Jan 7, 2018 · 1 comment
Assignees

Comments

@giladna
Copy link

giladna commented Jan 7, 2018

The demo app contains a method createMediaSource which is not used.
I suggest using it in the PlayerManager class in the MediaSource creation so if user changes the media URL in the strings.xml
to be HLS/DASH it will not get stuck after ad playback.

Handler mainHandler = new Handler(Looper.getMainLooper());
MediaSource contentMediaSource = createMediaSource(Uri.parse(contentUrl), mainHandler, new 

AdsMediaSource.EventListener() {
@override
public void onAdLoadError(IOException error) {

    }

    @Override
    public void onAdClicked() {

    }

    @Override
    public void onAdTapped() {

    }

    @Override
    public void onLoadStarted(DataSpec dataSpec, int dataType, int trackType, Format trackFormat, int trackSelectionReason, Object trackSelectionData, long mediaStartTimeMs, long mediaEndTimeMs, long elapsedRealtimeMs) {

    }

    @Override
    public void onLoadCompleted(DataSpec dataSpec, int dataType, int trackType, Format trackFormat, int trackSelectionReason, Object trackSelectionData, long mediaStartTimeMs, long mediaEndTimeMs, long elapsedRealtimeMs, long loadDurationMs, long bytesLoaded) {

    }

    @Override
    public void onLoadCanceled(DataSpec dataSpec, int dataType, int trackType, Format trackFormat, int trackSelectionReason, Object trackSelectionData, long mediaStartTimeMs, long mediaEndTimeMs, long elapsedRealtimeMs, long loadDurationMs, long bytesLoaded) {

    }

    @Override
    public void onLoadError(DataSpec dataSpec, int dataType, int trackType, Format trackFormat, int trackSelectionReason, Object trackSelectionData, long mediaStartTimeMs, long mediaEndTimeMs, long elapsedRealtimeMs, long loadDurationMs, long bytesLoaded, IOException error, boolean wasCanceled) {

    }

    @Override
    public void onUpstreamDiscarded(int trackType, long mediaStartTimeMs, long mediaEndTimeMs) {

    }

    @Override
    public void onDownstreamFormatChanged(int trackType, Format trackFormat, int trackSelectionReason, Object trackSelectionData, long mediaTimeMs) {

    }
});


@andrewlewis andrewlewis self-assigned this Jan 8, 2018
@andrewlewis
Copy link
Collaborator

As of a recent change it is used for creating media sources for ad media (PlayerManager is an AdsMediaSource.MediaSourceFactory). We can also use it for creating content media sources too though, so marking this as an enhancement.

ojw28 pushed a commit that referenced this issue Jan 15, 2018
@google google locked and limited conversation to collaborators Jun 29, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants