# MediaSource.MediaSourceCaller

# MediaSource.MediaSourceCaller

Artifact:[androidx.media3:media3-exoplayer](https://developer.android.com/jetpack/androidx/releases/media3)  
[View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/source/MediaSource.java+class:androidx.media3.exoplayer.source.MediaSource.MediaSourceCaller)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/media3/exoplayer/source/MediaSource.MediaSourceCaller "View this page in Java")

<br />

```
@UnstableApi
interface MediaSource.MediaSourceCaller
```

<br />

Known direct subclasses  
[MediaSourceTestRunner.MediaSourceListener](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/MediaSourceTestRunner.MediaSourceListener),[ServerSideAdInsertionMediaSource](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/ads/ServerSideAdInsertionMediaSource)  

|------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
| [MediaSourceTestRunner.MediaSourceListener](https://developer.android.com/reference/kotlin/androidx/media3/test/utils/MediaSourceTestRunner.MediaSourceListener) |                                                                                                                                                |
| [ServerSideAdInsertionMediaSource](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/ads/ServerSideAdInsertionMediaSource)         | A[MediaSource](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource)for server-side inserted ad breaks. |

*** ** * ** ***

A caller of media sources, which will be notified of source events.

## Summary

|                             ### Public functions                              |
|-------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [onSourceInfoRefreshed](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource.MediaSourceCaller#onSourceInfoRefreshed(androidx.media3.exoplayer.source.MediaSource,androidx.media3.common.Timeline))`(source: `[MediaSource](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource)`!, timeline: `[Timeline](https://developer.android.com/reference/kotlin/androidx/media3/common/Timeline)`!)` Called when the[Timeline](https://developer.android.com/reference/kotlin/androidx/media3/common/Timeline)has been refreshed. |

## Public functions

### onSourceInfoRefreshed

```
fun onSourceInfoRefreshed(source: MediaSource!, timeline: Timeline!): Unit
```

Called when the[Timeline](https://developer.android.com/reference/kotlin/androidx/media3/common/Timeline)has been refreshed.

Called on the playback thread.  

|                                                       Parameters                                                        |
|-------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|
| `source: `[MediaSource](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource)`!` | The[MediaSource](https://developer.android.com/reference/kotlin/androidx/media3/exoplayer/source/MediaSource)whose info has been refreshed. |
| `timeline: `[Timeline](https://developer.android.com/reference/kotlin/androidx/media3/common/Timeline)`!`               | The source's timeline.                                                                                                                      |