WSCLib SDK 1.0.0
GPU-accelerated video output framework for Windows
Loading...
Searching...
No Matches
wscvideo.h File Reference

WSCLibVideo — Video playback API with VLC and Media Foundation backends. More...

#include <windows.h>

Go to the source code of this file.

Data Structures

struct  WSCVVersion
 Version information structure. More...

Macros

#define WSCV_API   extern "C" __declspec(dllexport)
#define WSCV_VERSION_MAJOR   1
#define WSCV_VERSION_MINOR   0
#define WSCV_VERSION_PATCH   0
#define WSCV_VERSION_STRING   "1.0.0"

Enumerations

enum  WSCVResult {
  WSCV_OK = 0 , WSCV_ERROR_NOT_INIT = -100 , WSCV_ERROR_INVALID_PARAM = -101 , WSCV_ERROR_VLC_FAIL = -102 ,
  WSCV_ERROR_INVALID_ID = -103 , WSCV_ERROR_NOT_ACTIVE = -104 , WSCV_ERROR_ALLOC_FAIL = -105 , WSCV_ERROR_MF_FAIL = -106
}
 Result codes returned by WSCLibVideo functions. More...
enum  WSCVState { WSCV_STATE_IDLE = 0 , WSCV_STATE_PLAYING = 1 , WSCV_STATE_PAUSED = 2 , WSCV_STATE_STOPPED = 3 }
 Playback state. More...
enum  WSCVDecodeMode { WSCV_DECODE_AUTO = 0 , WSCV_DECODE_SOFTWARE = 1 , WSCV_DECODE_HARDWARE = 2 }
 Decode mode — set before WSCV_Init(). More...

Functions

WSCVVersion WSCV_GetVersion ()
 Get WSCLibVideo version info.
void WSCV_SetDecodeMode (WSCVDecodeMode mode)
 Set decode mode for VLC backend.
WSCVDecodeMode WSCV_GetDecodeMode ()
 Get current decode mode.
WSCVResult WSCV_Init ()
 Initialize VLC and Media Foundation engines.
void WSCV_Shutdown ()
 Shut down engines and destroy all players.
int WSCV_CreatePlayer (const char *filePath)
 Create a VLC player from a file path.
int WSCV_CreatePlayerFromUrl (const char *url)
 Create a VLC player from a URL.
WSCVResult WSCV_DestroyPlayer (int playerId)
 Destroy a player and free resources.
int WSCV_CreatePlayerMF (const char *filePath)
 Create a Media Foundation player with D3D11 hardware decode.
int WSCV_CreatePlayerMFFromUrl (const char *url)
 Create a Media Foundation player from a URL.
WSCVResult WSCV_Play (int playerId)
 Start or resume playback.
WSCVResult WSCV_Pause (int playerId)
 Pause playback.
WSCVResult WSCV_Stop (int playerId)
 Stop playback.
WSCVState WSCV_GetState (int playerId)
 Get current playback state.
WSCVResult WSCV_SetPosition (int playerId, float position)
 Set playback position (normalized 0.0–1.0).
float WSCV_GetPosition (int playerId)
 Get current playback position (normalized 0.0–1.0).
WSCVResult WSCV_SetTime (int playerId, long long timeMs)
 Set playback time in milliseconds.
long long WSCV_GetTime (int playerId)
 Get current playback time in milliseconds.
long long WSCV_GetLength (int playerId)
 Get total duration in milliseconds.
WSCVResult WSCV_SetRate (int playerId, float rate)
 Set playback rate.
float WSCV_GetRate (int playerId)
 Get current playback rate.
WSCVResult WSCV_SetVolume (int playerId, int volume)
 Set volume (0–100, can exceed 100 for amplification).
int WSCV_GetVolume (int playerId)
 Get current volume.
WSCVResult WSCV_SetMute (int playerId, int mute)
 Set mute state.
int WSCV_GetMute (int playerId)
 Get mute state.
WSCVResult WSCV_SetLoop (int playerId, int loop)
 Enable or disable looping.
int WSCV_GetLoop (int playerId)
 Get current loop state.
WSCVResult WSCV_AttachOutput (int playerId, int outputId)
 Attach a WSCLib output to this player.
WSCVResult WSCV_DetachOutput (int playerId, int outputId)
 Detach a WSCLib output from this player.

Detailed Description

WSCLibVideo — Video playback API with VLC and Media Foundation backends.

Provides video player lifecycle, playback controls, seek, audio, and automatic frame delivery to WSCLib outputs. Supports GPU-accelerated decode (DXVA2/D3D11VA) with NV12 zero-copy path when Video Processor is available.

Version
1.0.0

Macro Definition Documentation

◆ WSCV_API

#define WSCV_API   extern "C" __declspec(dllexport)