Counter Strike : Global Offensive Source Code
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef IFRAMEENCODER_H
#define IFRAMEENCODER_H
#pragma once
// A frame encoder is a codec that encodes and decodes data in fixed-size frames.
// VoiceCodec_Frame handles queuing of data and the IVoiceCodec interface.
abstract_class IFrameEncoder { public: virtual ~IFrameEncoder() {}
// This is called by VoiceCodec_Frame to see if it can initialize..
// Fills in the uncompressed and encoded frame size (both are in BYTES).
virtual bool Init(int quality, int &rawFrameSize, int &encodedFrameSize) = 0;
virtual void Release() = 0; // pUncompressed is 8-bit signed mono sound data with 'rawFrameSize' bytes.
// pCompressed is the size of encodedFrameSize.
virtual void EncodeFrame(const char *pUncompressed, char *pCompressed) = 0; // pCompressed is encodedFrameSize.
// pDecompressed is where the 8-bit signed mono samples are stored and has space for 'rawFrameSize' bytes.
virtual void DecodeFrame(const char *pCompressed, char *pDecompressed) = 0;
// Some codecs maintain state between Compress and Decompress calls. This should clear that state.
virtual bool ResetState() = 0; };
#endif // IFRAMEENCODER_H
|