MCPcopy Create free account
hub / github.com/MediaArea/MediaInfoLib / MI_Create

Method MI_Create

Source/MediaInfo/Multiple/File__ReferenceFilesHelper.cpp:1774–1892  ·  view source on GitHub ↗

---------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

1772
1773//---------------------------------------------------------------------------
1774MediaInfo_Internal* File__ReferenceFilesHelper::MI_Create()
1775{
1776 //Configuration
1777 MediaInfo_Internal* MI_Temp=new MediaInfo_Internal();
1778 for (std::map<string, Ztring>::iterator Config_Item=Sequences[Sequences_Current]->Config.begin(); Config_Item!=Sequences[Sequences_Current]->Config.end(); ++Config_Item)
1779 MI_Temp->Option(Ztring().From_UTF8(Config_Item->first.c_str()), Config_Item->second);
1780 MI_Temp->Option(__T("File_IsReferenced"), __T("1"));
1781 MI_Temp->Option(__T("File_FileNameFormat"), __T("CSV"));
1782 MI_Temp->Option(__T("File_KeepInfo"), __T("1"));
1783 MI_Temp->Option(__T("File_ID_OnlyRoot"), Config->File_ID_OnlyRoot_Get()?__T("1"):__T("0"));
1784 #if defined(MEDIAINFO_DVDIF_YES)
1785 MI_Temp->Option(__T("File_DvDif_DisableAudioIfIsInContainer"), Config->File_DvDif_DisableAudioIfIsInContainer_Get()?__T("1"):__T("0"));
1786 #endif
1787 if ((Sequences.size()>1 || Config->File_MpegTs_ForceMenu_Get()) && !Sequences[Sequences_Current]->IsMain && !HasMainFile)
1788 MI_Temp->Option(__T("File_MpegTs_ForceMenu"), __T("1"));
1789 #if MEDIAINFO_AES
1790 MI_Temp->Option(__T("File_Encryption_Format"), MI->Retrieve(Stream_General, 0, "Encryption_Format"));
1791 MI_Temp->Option(__T("File_Encryption_Key"), Ztring().From_UTF8(Base64::encode(MI->Config->Encryption_Key_Get())));
1792 MI_Temp->Option(__T("File_Encryption_Method"), MI->Retrieve(Stream_General, 0, "Encryption_Method"));
1793 MI_Temp->Option(__T("File_Encryption_Mode"), MI->Retrieve(Stream_General, 0, "Encryption_Mode"));
1794 MI_Temp->Option(__T("File_Encryption_Padding"), MI->Retrieve(Stream_General, 0, "Encryption_Padding"));
1795 MI_Temp->Option(__T("File_Encryption_InitializationVector"), MI->Retrieve(Stream_General, 0, "Encryption_InitializationVector"));
1796 #endif //AES
1797 #if MEDIAINFO_NEXTPACKET
1798 if (Config->NextPacket_Get())
1799 MI_Temp->Option(__T("File_NextPacket"), __T("1"));
1800 if (Config->File_Demux_Interleave_Get())
1801 MI_Temp->Option(__T("File_Demux_Interleave"), __T("1"));
1802 #endif //MEDIAINFO_NEXTPACKET
1803 #if MEDIAINFO_ADVANCED
1804 if (Config->File_IgnoreSequenceFileSize_Get())
1805 MI_Temp->Option(__T("File_IgnoreSequenceFileSize"), __T("1"));
1806 if (Config->File_IgnoreSequenceFilesCount_Get())
1807 MI_Temp->Option(__T("File_IgnoreSequenceFilesCount"), __T("1"));
1808 if (Config->File_Source_List_Get())
1809 MI_Temp->Option(__T("File_Source_List"), __T("1"));
1810 #endif //MEDIAINFO_ADVANCED
1811 #if MEDIAINFO_HASH
1812 if (Config->File_Hash_Get().to_ulong())
1813 MI_Temp->Option(__T("File_Hash"), Config->Option(__T("File_Hash_Get"), Ztring()));
1814 #endif //MEDIAINFO_HASH
1815 #if MEDIAINFO_EVENTS
1816 MI_Temp->Config.Config_PerPackage=Config->Config_PerPackage;
1817 if (Config->Event_CallBackFunction_IsSet())
1818 {
1819 MI_Temp->Option(__T("File_Event_CallBackFunction"), Config->Event_CallBackFunction_Get());
1820 MI_Temp->Config.Config_PerPackage->Event_CallBackFunction_Set(Config->Event_CallBackFunction_Get());
1821 }
1822 MI_Temp->Config.File_Names_RootDirectory=FileName(MI->File_Name).Path_Get();
1823 if (!Config->File_TestContinuousFileNames_Get() || Sequences[Sequences_Current]->FileNames.size()>1)
1824 MI_Temp->Option(__T("File_TestContinuousFileNames"), __T("0"));
1825 if (!Config->File_TestDirectory_Get())
1826 MI_Temp->Option(__T("File_TestDirectory"), __T("0"));
1827 ZtringListList SubFile_IDs;
1828 if (Sequences[Sequences_Current]->IsMain)
1829 HasMainFile=true;
1830 if (HasMainFile && !Sequences[Sequences_Current]->IsMain)
1831 {

Callers

nothing calls this directly

Tested by

no test coverage detected