---
updatedAt: 2026-08-21T11:58:08.000Z
agentTools:
  siteIndex: https://developer.bitmovin.com/llms.txt
  projectIndex: https://developer.bitmovin.com/playback/llms.txt
---

# VideoFeedItemState

com.bitmovin.player.api.videofeed

# VideoFeedItemState

@[ExperimentalBitmovinApi](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-experimental-bitmovin-api)

data class VideoFeedItemState(val item: [VideoFeedItem](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-videofeed-video-feed-item), val player: [Player](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-player)?, val isCurrent: [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html), val status: [VideoFeedItemStatus](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-videofeed-video-feed-item-status), val error: [ErrorEvent](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-deficiency-error-event)? = null)

Current controller state for a [VideoFeedItem](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-videofeed-video-feed-item).

UIs should render from this state instead of owning players directly. A non-null player is owned by [VideoFeedPlayerController](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-videofeed-video-feed-player-controller); attach it to a player view, but do not destroy it.

## Constructors

|                    |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| VideoFeedItemState | constructor(item: [VideoFeedItem](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-videofeed-video-feed-item), player: [Player](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-player)?, isCurrent: [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html), status: [VideoFeedItemStatus](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-videofeed-video-feed-item-status), error: [ErrorEvent](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-deficiency-error-event)? = null) |

## Properties

| Name      | Summary                                                                                                                                                                                                                                    |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| error     | val error: [ErrorEvent](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-deficiency-error-event)?<br>The player or source error that caused [VideoFeedItemStatus.Failed](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-videofeed-video-feed-item-status). |
| isCurrent | val isCurrent: [Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)<br>Whether this item is the selected feed item.                                                                                         |
| item      | val item: [VideoFeedItem](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-videofeed-video-feed-item)                                                                                                                                               |
| player    | val player: [Player](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-player)?<br>Player assigned to this item, or null until this item is assigned to a pooled slot.                                                                               |
| status    | val status: [VideoFeedItemStatus](https://developer.bitmovin.com/playback/docs/android-api-com-bitmovin-player-api-videofeed-video-feed-item-status)<br>Loading/rendering/error status for UI placeholders and overlays.                                                            |