---------------------------------------------------------------------------
| 1772 | |
| 1773 | //--------------------------------------------------------------------------- |
| 1774 | MediaInfo_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 | { |
nothing calls this directly
no test coverage detected