ErrVal
H264AVCEncoderTest::xRelease( ExtBinDataAccessorList& rcList )
{
  while( rcList.size() )
  {
    delete[] rcList.front()->data();
    delete   rcList.front();
    rcList.pop_front();
  }
  return Err::m_nOK;
}
ErrVal
H264AVCEncoderTest::xSend( ExtBinDataAccessorList& rcList) //xSend per enviar la NAL de la view 0 junt amb les seves dades
{ 
	//Agafem un Frame d'una vista i l'empaquetem en RTP.
	

 
	if(isVerbose)
		printf("Tamany de la llista: %d\n",rcList.size());

	UChar nal_unit[4];
	 
	 if(rcList.size())
	 {	
	  nal_unit[0]=rcList.front()->data()[0];
	  nal_unit[1]=rcList.front()->data()[1];
	  nal_unit[2]=rcList.front()->data()[2];
	  nal_unit[3]=rcList.front()->data()[3];
	 }
	 else{
		 if(isVerbose)
			 printf("Enviem el final de Tansmissio\n"); //Si la llista està buida, és que hem arribat al final o hi ha hagut un error i ho buidem tot.
		 m_apcRtpPacker->endTransmission();
	 }
 

	 
while( rcList.size() )
  {
 
	if(isVerbose)
		printf("Enviem un paquet\n");

	
	m_apcRtpPacker->pack(nal_unit,rcList.front()->data(),rcList.front()->size());
	 
	// El SSN Augmenta en 1 per cada vista. Independent de l'ordre en que es codifiquin
	// El Timestamp és el mateix per numero de Frame
		//En cas de fragmentació: - MAteix timestamp, mateix SSN. Duplicare NAL + NAL especifica


	
	delete[] rcList.front()->data();
    delete   rcList.front();
	//delete[] rcViewList.front()->data();
	//delete rcViewList.front();
    
	rcList.pop_front();
	//rcViewList.pop_front();
 }
	//system("pause");

	return Err::m_nOK;
 }
ErrVal
H264AVCEncoderTest::xWrite( ExtBinDataAccessorList& rcList,
                            UInt&                   ruiBytesInFrame )
{
  while( rcList.size() )
  {
    ruiBytesInFrame += rcList.front()->size() + 4;
    RNOK( m_pcWriteBitstreamToFile->writePacket( &m_cBinDataStartCode ) );
    RNOK( m_pcWriteBitstreamToFile->writePacket( rcList.front() ) );
    delete[] rcList.front()->data();
    delete   rcList.front();
    rcList.pop_front();
  }
  return Err::m_nOK;
}