# GetSCelList

Returns a list of CCBs for the current stream time.

### Synopsis

`CCB* GetSCelList (struct SCelContext* context, long channelNumber)`

### Description

Returns a self-describing list of CCBs corresponding to the current stream time. All elements of the cel list (CCBs, PLUTs, and source pixel data) are relatively linked. Assume the CCB_LAST flag of the last CCB in the list is set, if the data stream was prepared using 3DO tools.

Each cel list (or frame) in the data stream has an associated start time and duration. The interval from start-time to start-time + duration is the time during which the frame is intended to be displayed on screen. If there is no frame in the data stream whose display interval corresponds to the current stream time, then a NULL pointer is returned. This condition can arise when stream time has progressed beyond the last frame in the stream, or when explicit gaps have been woven into the stream. An application wishing to always display the last frame received should detect the NULL pointer and inhibit screen flipping.

Only the most recent cel list pointer returned by `GetSCelList()` is valid. Less recent cel list pointers may not be valid, and should not be dereferenced by the client application. Should a client application need to save an earlier cel list, it must explicitly copy the entire cel list (and linked PLUTs and source data) and retain a pointer to the copy.

### Arguments

`context`
  Pointer to context structure for the SCel subscriber

channelNumber
  Logical channel number.

### Return Value

Returns a pointer to a list of CCBs for the current stream time, or `NULL` if there is none.

### Caveat

This function is part of the Subscriber.lib library file that can currently (Toolkit1.5) be found in Attic:Streaming:2p1:DataStream:Subscribers:Subscriber.lib. It will later be integrated into the main Streaming tree.

### See Also

`GetSCelListAndType`