void MP4HvcCAtom::Generate() { MP4Atom::Generate(); #if 0 //cwm 322 uint8_t *out_buf = NULL; uint32_t out_size = 0; if(NULL != m_File.m_pPsData) { mov_write_hvcc_tag(m_File.m_pPsData, m_File.m_ui32PsDataSize, &out_buf, &out_size); m_pProperties[0]->SetReadOnly(false); ((MP4BytesProperty*)m_pProperties[0])-> SetValue(out_buf, out_size); m_pProperties[0]->SetReadOnly(true); m_File.m_ui32PsDataSize = 0; free(m_File.m_pPsData); } #else //cwm 322 ((MP4Integer8Property*)m_pProperties[0])->SetValue(1); #if 0 //cwm 351 ((MP4Integer8Property*)m_pProperties[0])->SetValue(1); m_pProperties[4]->SetReadOnly(false); ((MP4BitfieldProperty*)m_pProperties[4])->SetValue(0x3f); m_pProperties[4]->SetReadOnly(true); m_pProperties[6]->SetReadOnly(false); ((MP4BitfieldProperty*)m_pProperties[6])->SetValue(0x7); m_pProperties[6]->SetReadOnly(true); #endif //cwm 351 #if 0 //cwm 389 const uint8_t buffer[4] = {0x12, 0x34, 0x56, 0x78}; MP4BytesProperty *pUnit; if(this->FindProperty("hvcC.sequenceEntries.sequenceParameterSetNALUnit", (MP4Property **)&pUnit) == false) { PrintInfo("hvcC.sequenceEntries.sequenceParameterSetNALUnit failed"); } pUnit->AddValue(buffer, sizeof(buffer)); #endif //cwm 389 #if 0 //cwm_add 336 uint8_t *out_buf = NULL; uint32_t out_size = 0; if(NULL != m_File.m_pPsData) { mov_write_hvcc_tag(m_File.m_pPsData, m_File.m_ui32PsDataSize, &out_buf, &out_size); m_pProperties[0]->SetReadOnly(false); ((MP4BytesProperty*)m_pProperties[0])-> SetValue(out_buf, out_size); m_pProperties[0]->SetReadOnly(true); m_File.m_ui32PsDataSize = 0; free(m_File.m_pPsData); } #endif //cwm_add 336 #endif //cwm 322 }