PAudioData.cpp
资源名称:视频会议系统.rar [点击查看]
上传用户:popouu88
上传日期:2013-02-11
资源大小:2894k
文件大小:1k
源码类别:
IP电话/视频会议
开发平台:
Visual C++
- // PAudioData.cpp: implementation of the PAudioData class.
- //
- //////////////////////////////////////////////////////////////////////
- #include "PAudioData.h"
- //////////////////////////////////////////////////////////////////////
- // Construction/Destruction
- //////////////////////////////////////////////////////////////////////
- PAudioData::PAudioData()
- {
- this->Tag = PAudioDataTAG;
- this->user_id = 0;
- this->audio_buffer = NULL;
- this->audio_size = 0;
- }
- PAudioData::~PAudioData()
- {
- }
- bool PAudioData::assembleData( int user_id , char * buffer , int size )
- {
- this->buffer.Resize( 4 * INT_SIZE + size );
- char * now = this->buffer.GetBuffer( );
- *( int * )now = this->buffer.GetSize( ); now += INT_SIZE;
- *( int * )now = this->Tag; now += INT_SIZE;
- *( int * )now = user_id; now += INT_SIZE;
- *( int * )now = size; now += INT_SIZE;
- if( size )
- memcpy( now , buffer , size );
- return true;
- }
- bool PAudioData::parseData( CBuffer & buffer )
- {
- if( ! buffer.GetSize( ) ) return false;
- char * now = buffer.GetBuffer( ) + 2 * INT_SIZE;
- this->user_id = *( int * )now ; now += INT_SIZE;
- this->audio_size = *( int * )now; now += INT_SIZE;
- this->audio_buffer = this->audio_size ? now : NULL;
- return true;
- }