# FakeTimeline.TimelineWindowDefinition

Artifact: [androidx.media3:media3-test-utils](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/test/utils/FakeTimeline.java+class:androidx.media3.test.utils.FakeTimeline.TimelineWindowDefinition)

*** ** * ** ***


```
public final class FakeTimeline.TimelineWindowDefinition
```

<br />

*** ** * ** ***

Definition used to define a `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline`.

## Summary

| ### Nested types |
|---|
| `public class https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` A builder to build instances of `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition`. |

| ### Constants |
|---|---|
| `static final long` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#DEFAULT_WINDOW_DURATION_US() = 10000000` Default window duration in microseconds. |
| `static final long` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#DEFAULT_WINDOW_OFFSET_IN_FIRST_PERIOD_US() = 123000000` Default offset of a window in its first period in microseconds. |

| ### Public fields |
|---|---|
| `final https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/media3/common/AdPlaybackState>` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#adPlaybackStates()` |
| `final long` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#defaultPositionUs()` |
| `final long` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#durationUs()` |
| `final https://developer.android.com/reference/java/lang/Object.html` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#id()` |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#isDynamic()` |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#isLive()` |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#isPlaceholder()` |
| `final boolean` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#isSeekable()` |
| `final https://developer.android.com/reference/androidx/media3/common/MediaItem` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#mediaItem()` |
| `final int` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#periodCount()` |
| `final long` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#windowOffsetInFirstPeriodUs()` |
| `final long` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#windowStartTimeUs()` |

| ### Public constructors |
|---|
| `[TimelineWindowDefinition](https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(int,java.lang.Object))(int periodCount, https://developer.android.com/reference/java/lang/Object.html id)` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` instead. <br /> |
| `[TimelineWindowDefinition](https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(boolean,boolean,long))( boolean isSeekable, boolean isDynamic, long durationUs )` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` instead. <br /> |
| `[TimelineWindowDefinition](https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(int,java.lang.Object,boolean,boolean,long))( int periodCount, https://developer.android.com/reference/java/lang/Object.html id, boolean isSeekable, boolean isDynamic, long durationUs )` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` instead. <br /> |
| `[TimelineWindowDefinition](https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(int,java.lang.Object,boolean,boolean,long,androidx.media3.common.AdPlaybackState))( int periodCount, https://developer.android.com/reference/java/lang/Object.html id, boolean isSeekable, boolean isDynamic, long durationUs, https://developer.android.com/reference/androidx/media3/common/AdPlaybackState adPlaybackState )` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` instead. <br /> |
| `[TimelineWindowDefinition](https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(int,java.lang.Object,boolean,boolean,boolean,boolean,long,long,long,androidx.media3.common.AdPlaybackState))( int periodCount, https://developer.android.com/reference/java/lang/Object.html id, boolean isSeekable, boolean isDynamic, boolean isLive, boolean isPlaceholder, long durationUs, long defaultPositionUs, long windowOffsetInFirstPeriodUs, https://developer.android.com/reference/androidx/media3/common/AdPlaybackState adPlaybackState )` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` instead. <br /> |
| `[TimelineWindowDefinition](https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(int,java.lang.Object,boolean,boolean,boolean,boolean,long,long,long,androidx.media3.common.AdPlaybackState,androidx.media3.common.MediaItem))( int periodCount, https://developer.android.com/reference/java/lang/Object.html id, boolean isSeekable, boolean isDynamic, boolean isLive, boolean isPlaceholder, long durationUs, long defaultPositionUs, long windowOffsetInFirstPeriodUs, https://developer.android.com/reference/androidx/media3/common/AdPlaybackState adPlaybackState, https://developer.android.com/reference/androidx/media3/common/MediaItem mediaItem )` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(int,java.lang.Object,boolean,boolean,boolean,boolean,long,long,long,java.util.List<androidx.media3.common.AdPlaybackState>,androidx.media3.common.MediaItem)` instead. <br /> |
| `[TimelineWindowDefinition](https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(int,java.lang.Object,boolean,boolean,boolean,boolean,long,long,long,java.util.List<androidx.media3.common.AdPlaybackState>,androidx.media3.common.MediaItem))( int periodCount, https://developer.android.com/reference/java/lang/Object.html id, boolean isSeekable, boolean isDynamic, boolean isLive, boolean isPlaceholder, long durationUs, long defaultPositionUs, long windowOffsetInFirstPeriodUs, https://developer.android.com/reference/java/util/List.html<https://developer.android.com/reference/androidx/media3/common/AdPlaybackState> adPlaybackStates, https://developer.android.com/reference/androidx/media3/common/MediaItem mediaItem )` **This method is deprecated.** Use `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` instead. <br /> |

| ### Public methods |
|---|---|
| `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#buildUpon()()` Returns a `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` initialized with the values of this instance. |
| `static https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition` | `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#createPlaceholder(java.lang.Object)(https://developer.android.com/reference/java/lang/Object.html tag)` Creates a window definition that corresponds to a placeholder timeline using the given tag. |

## Constants

### DEFAULT_WINDOW_DURATION_US

```
public static final long DEFAULT_WINDOW_DURATION_US = 10000000
```

Default window duration in microseconds.

### DEFAULT_WINDOW_OFFSET_IN_FIRST_PERIOD_US

```
public static final long DEFAULT_WINDOW_OFFSET_IN_FIRST_PERIOD_US = 123000000
```

Default offset of a window in its first period in microseconds.

## Public fields

### adPlaybackStates

```
public final List<AdPlaybackState> adPlaybackStates
```

### defaultPositionUs

```
public final long defaultPositionUs
```

### durationUs

```
public final long durationUs
```

### id

```
public final Object id
```

### isDynamic

```
public final boolean isDynamic
```

### isLive

```
public final boolean isLive
```

### isPlaceholder

```
public final boolean isPlaceholder
```

### isSeekable

```
public final boolean isSeekable
```

### mediaItem

```
public final MediaItem mediaItem
```

### periodCount

```
public final int periodCount
```

### windowOffsetInFirstPeriodUs

```
public final long windowOffsetInFirstPeriodUs
```

### windowStartTimeUs

```
public final long windowStartTimeUs
```

## Public constructors

### TimelineWindowDefinition

```
public [TimelineWindowDefinition](https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(int,java.lang.Object))(int periodCount, Object id)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` instead.

### TimelineWindowDefinition

```
public [TimelineWindowDefinition](https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(boolean,boolean,long))(
    boolean isSeekable,
    boolean isDynamic,
    long durationUs
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` instead.

### TimelineWindowDefinition

```
public [TimelineWindowDefinition](https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(int,java.lang.Object,boolean,boolean,long))(
    int periodCount,
    Object id,
    boolean isSeekable,
    boolean isDynamic,
    long durationUs
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` instead.

### TimelineWindowDefinition

```
public [TimelineWindowDefinition](https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(int,java.lang.Object,boolean,boolean,long,androidx.media3.common.AdPlaybackState))(
    int periodCount,
    Object id,
    boolean isSeekable,
    boolean isDynamic,
    long durationUs,
    AdPlaybackState adPlaybackState
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` instead.

### TimelineWindowDefinition

```
public [TimelineWindowDefinition](https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(int,java.lang.Object,boolean,boolean,boolean,boolean,long,long,long,androidx.media3.common.AdPlaybackState))(
    int periodCount,
    Object id,
    boolean isSeekable,
    boolean isDynamic,
    boolean isLive,
    boolean isPlaceholder,
    long durationUs,
    long defaultPositionUs,
    long windowOffsetInFirstPeriodUs,
    AdPlaybackState adPlaybackState
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` instead.

### TimelineWindowDefinition

```
public [TimelineWindowDefinition](https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(int,java.lang.Object,boolean,boolean,boolean,boolean,long,long,long,androidx.media3.common.AdPlaybackState,androidx.media3.common.MediaItem))(
    int periodCount,
    Object id,
    boolean isSeekable,
    boolean isDynamic,
    boolean isLive,
    boolean isPlaceholder,
    long durationUs,
    long defaultPositionUs,
    long windowOffsetInFirstPeriodUs,
    AdPlaybackState adPlaybackState,
    MediaItem mediaItem
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(int,java.lang.Object,boolean,boolean,boolean,boolean,long,long,long,java.util.List<androidx.media3.common.AdPlaybackState>,androidx.media3.common.MediaItem)` instead.

### TimelineWindowDefinition

```
public [TimelineWindowDefinition](https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition#TimelineWindowDefinition(int,java.lang.Object,boolean,boolean,boolean,boolean,long,long,long,java.util.List<androidx.media3.common.AdPlaybackState>,androidx.media3.common.MediaItem))(
    int periodCount,
    Object id,
    boolean isSeekable,
    boolean isDynamic,
    boolean isLive,
    boolean isPlaceholder,
    long durationUs,
    long defaultPositionUs,
    long windowOffsetInFirstPeriodUs,
    List<AdPlaybackState> adPlaybackStates,
    MediaItem mediaItem
)
```

> [!CAUTION]
> **This method is deprecated.**   
>
> Use `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` instead.

## Public methods

### buildUpon

```
public FakeTimeline.TimelineWindowDefinition.Builder buildUpon()
```

Returns a `https://developer.android.com/reference/androidx/media3/test/utils/FakeTimeline.TimelineWindowDefinition.Builder` initialized with the values of this instance.

### createPlaceholder

```
public static FakeTimeline.TimelineWindowDefinition createPlaceholder(Object tag)
```

Creates a window definition that corresponds to a placeholder timeline using the given tag.

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/Object.html tag` | The tag to use in the timeline. |