⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 conv_o_m.cpp

📁 是使用在雅马哈手机音源
💻 CPP
字号:

/*********************************************************************
  Name:       CONV_O_M.CPP
  Purpose:    Converter Output Interface via memory 
  Programmer: Yuji Hisaminato
  Date:       1999/12/13
                               Copyright (C) 1999 YAMAHA Corporation.
*********************************************************************/

/* C僶乕僕儑儞偺応崌偵曄悢傪愰尵偡傞偨傔偵昁梫 */
#define CONV_OUT_MEMORY_DECLARE_MEMBER

#include <memory.h>


#include "conv_o_m.h"



#ifdef _DEBUG
#include <stdio.h>
#endif

#if defined(mycplusplus)
void CONV_OUT_MEMORY_CLASS_CC conv_out_init(void){
  m_is_opened = false;
  m_pos = 0;
  m_eof = false;
}
#else
void CONV_OUT_MEMORY_CLASS_CC conv_out_init(Conv_out *pconv_out){
  m_is_opened = false;
  m_pos = 0;
  m_eof = false;
  /* 儕僜乕僗娭悢傊偺億僀儞僞傪愝掕偡傞丅*/
  pconv_out->input_data = &input_data;
}
#endif

#if defined(mycplusplus)
CONV_OUT_MEMORY_CLASS_CC Conv_out_memory(){
  conv_out_init();
}

CONV_OUT_MEMORY_CLASS_CC ~Conv_out_memory(){

}
#endif

UINT32 CONV_OUT_MEMORY_CLASS_CC conv_out_get_total_size(void){
  // 尰嵼傑偱偺曄姺屻偺僨乕僞僒僀僘傪曉偡丅
  return m_pos;
};

CONV_OUT_M_RESULT CONV_OUT_MEMORY_CLASS_CC conv_out_memory_open( // 彂偒崬傒儌乕僪偱奐偔
  UINT8 *pdata,     // 僨乕僞傪弌椡偡傞応強
  UINT32 size       // pdata偵曐懚偝傟偰偄傞僨乕僞偺屄悢[僶僀僩]
){
  m_pdata = pdata;
  m_size = size;
  m_is_opened = true;
  rewind_data();
  return CONV_OUT_M_R_SUCCESSFUL;
}

CONV_OUT_STATIC bool CONV_OUT_MEMORY_CLASS_CC rewind_data(void){ // 弌椡偺愭摢偵堏摦偡傞丅
  m_pos = 0;
  m_eof = false;
  return true;
}

// Converter偐傜弌椡偝傟偨僨乕僞傪儊儌儕偵僐僺乕偡傞丅
// 弌椡僶僢僼傽傪挻偊傞僨乕僞偑偒偨偲偒偵偼壗傕偟側偄偱婣傞丅
CONV_OUT_STATIC bool CONV_OUT_MEMORY_CLASS_CC input_data(
  UINT8 *pdata,
  UINT32 count
){
  #ifdef _DEBUG
  //int i;
  //printf("CONV_OUT_MEMORY_CLASS_CCinput_data: m_pos = %xH, count = %d:",m_pos, count);
  //for(i=0;i<count;++i) printf("%02X,",pdata[i]);
  //printf("\n");
  #endif

  if (m_pos+count > m_size) return false;   // Buffer overflow!
  memcpy(m_pdata+m_pos,pdata,count);
  m_pos += count;
  return true;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -