/*---------------------------------------------------------------------- | AP4_ByteStream::WriteUI32 +---------------------------------------------------------------------*/ AP4_Result AP4_ByteStream::WriteUI32(AP4_UI32 value) { unsigned char buffer[4]; // convert value to bytes AP4_BytesFromUInt32BE(buffer, value); // write bytes to the stream return Write((void*)buffer, 4); }
/*---------------------------------------------------------------------- | AP4_IsmaCipher::EncryptSample +---------------------------------------------------------------------*/ AP4_Result AP4_IsmaCipher::EncryptSample(AP4_DataBuffer& data_in, AP4_DataBuffer& data_out, AP4_Offset iv, bool skip_encryption) { // setup the buffers const unsigned char* in = data_in.GetData(); data_out.SetDataSize(data_in.GetDataSize()+4); unsigned char* out = data_out.UseData(); // IV on 4 bytes AP4_BytesFromUInt32BE(out, iv); out += 4; // encrypt the payload m_Cipher->SetStreamOffset(iv); m_Cipher->ProcessBuffer(in, out, data_in.GetDataSize()); return AP4_FAILURE; }