FVVLib  1.0.0 beta 4
Public Member Functions
FVVLoader Class Reference

Central class to access FVV file data. More...

List of all members.

Public Member Functions

FVVResult OpenFile (const wchar_t *path, FVVInfoPtr *fvvInfo)
 Open a FVV file specified by the path parameter.
FVVResult OpenFile (const char *path, FVVInfoPtr *fvvInfo)
FVVResult GetNextFrameData (FVVFrameDataPtr *frameData) const
 Get the next processed free-viewpoint video frame. See the definition of FVVFrameData.
FVVResult SeekFrame (int frameNumber)
 Set the frame position to the given frame number.
FVVResult IsFileOpen (bool *isOpen) const
 Check if a file is currently opened by the loader.
FVVResult IsEndOfSequence (bool *isEOS) const
 Check if the end of the frame sequence has been reached.
FVVResult CloseFile ()
 Closes an open file.
 FVVLoader (void)
 ~FVVLoader (void)

Detailed Description

Central class to access FVV file data.


Constructor & Destructor Documentation

FVVLoader ( void  )
~FVVLoader ( void  )

Member Function Documentation

FVVResult OpenFile ( const wchar_t *  path,
FVVInfoPtr fvvInfo 
)

Open a FVV file specified by the path parameter.

Parameters:
[in]pathPath of the FVV file.
[out]fvvInfoAddress of a pointer that receives the FVV info.
Returns:
If the function is successful the return value will be FVV_OK.
If the function fails it returns one of the error codes defined in the FVVResult enumeration. The fvvInfo parameter will stay unmodified in this case.

If opened successfully the function will read metadata information that can be then accessed through the given FVVInfo interface and start processing of the free-viewpoint video frames. Individual frame data can be accessed through the FVVFrameData interface by successively calling GetNextFrameData().

If fvvInfo is nullptr the parameter will be ignored.

Not valid to call if another file is already openend. CloseFile() has to be called first before opening another file.

Attention:
This method starts reading and decoding of FVV file data. It therefore will start two threads internally.
FVVResult OpenFile ( const char *  path,
FVVInfoPtr fvvInfo 
)
FFVVResult GetNextFrameData ( FVVFrameDataPtr frameData) const

Get the next processed free-viewpoint video frame. See the definition of FVVFrameData.

Parameters:
[out]frameDataAddress of a pointer that receives the next frame data.
Returns:
If the function is successful the return value will be FVV_OK.
If the function fails it returns one of the error codes defined in the FVVResult enumeration.

This function will block the calling thread until the next processed frame is available.

The client will take ownership of the pointer, i.e. the pointer will be still valid even if the file is closed or the loader is destroyed.

After the last frame in the sequence has been retrieved the next call to IsEndOfSequence() will return 'false' and the next call to GetNextFrameData() will fail with FVV_ERROR_END_OF_SEQUENCE as return value.

If the function fails the provided pointer will stay unmodified.

Only valid to call after OpenFile() has been called successfully.

FVVResult SeekFrame ( int  frameNumber)

Set the frame position to the given frame number.

Parameters:
[in]frameNumberThe new position in the frame sequence.
Returns:
If the function is successful the return value will be FVV_OK.
If the function fails it returns one of the error codes defined in the FVVResult enumeration.

The valid range of frames is from 0 to [NUMBER_OF_FRAMES -1].

If the frame number is not in the valid range of frames of the opened file the function will fail and leave the file unmodified.

Only valid to call after OpenFile() has been called successfully.

FVVResult IsFileOpen ( bool *  isOpen) const

Check if a file is currently opened by the loader.

Parameters:
[out]isOpenAddress of a variable to receive the current file open state.
Returns:
If the function is successful the return value will be FVV_OK.
If the function fails it returns one of the error codes defined in the FVVResult enumeration.

The provided pointer must point to a valid address.

If the function fails the provided pointer will stay unmodified.

FVVResult IsEndOfSequence ( bool *  isEOS) const

Check if the end of the frame sequence has been reached.

Parameters:
[out]isEOSAddress of a variable to receive the if the reading reached the sequence end.
Returns:
If the function is successful the return value will be FVV_OK.
If the function fails it returns one of the error codes defined in the FVVResult enumeration.

The provided pointer must point to a valid address.

If the function fails the provided pointer will stay unmodified.

Only valid to call after OpenFile() has been called successfully.

FVVResult CloseFile ( )

Closes an open file.

Returns:
If the function is successful the return value will be FVV_OK.
If the function fails it returns one of the error codes defined in the FVVResult enumeration.

Only valid to call after OpenFile() has been called successfully.