MEDIAINFO_TRACE ---------------------------------------------------------------------------
| 945 | #endif // MEDIAINFO_TRACE |
| 946 | //--------------------------------------------------------------------------- |
| 947 | void File__Analyze::Open_Buffer_Continue (const int8u* ToAdd, size_t ToAdd_Size) |
| 948 | { |
| 949 | //Deleyed events |
| 950 | #if MEDIAINFO_DEMUX |
| 951 | if (Config->Events_Delayed_CurrentSource) |
| 952 | { |
| 953 | File__Analyze* Temp=Config->Events_Delayed_CurrentSource; |
| 954 | Config->Events_Delayed_CurrentSource=NULL; |
| 955 | Config->Event_Accepted(Temp); |
| 956 | if (Config->Events_Delayed_CurrentSource) |
| 957 | return; |
| 958 | } |
| 959 | #endif //MEDIAINFO_DEMUX |
| 960 | |
| 961 | if (ToAdd_Size) |
| 962 | { |
| 963 | Frame_Count_InThisBlock=0; |
| 964 | Field_Count_InThisBlock=0; |
| 965 | } |
| 966 | |
| 967 | //Hash |
| 968 | #if MEDIAINFO_HASH |
| 969 | if (ToAdd_Size) |
| 970 | { |
| 971 | if (!IsSub && !Buffer_Temp_Size && File_Offset==Config->File_Current_Offset && Config->File_Hash_Get().to_ulong()) |
| 972 | { |
| 973 | delete Hash; Hash=new HashWrapper(Config->File_Hash_Get().to_ulong()); |
| 974 | } |
| 975 | if (Hash) |
| 976 | { |
| 977 | if (File_Offset+Buffer_Size==Hash_Offset) |
| 978 | { |
| 979 | Hash->Update(ToAdd, ToAdd_Size); |
| 980 | Hash_Offset+=ToAdd_Size; |
| 981 | } |
| 982 | else if (Hash_Offset>File_Offset+Buffer_Size && Hash_Offset<File_Offset+Buffer_Size+ToAdd_Size) |
| 983 | { |
| 984 | size_t ToAdd_ToHashSize=(size_t)(File_Offset+Buffer_Size+ToAdd_Size-Hash_Offset); |
| 985 | Hash->Update(ToAdd+ToAdd_Size-ToAdd_ToHashSize, ToAdd_ToHashSize); |
| 986 | Hash_Offset+=ToAdd_ToHashSize; |
| 987 | } |
| 988 | } |
| 989 | } |
| 990 | #endif //MEDIAINFO_HASH |
| 991 | |
| 992 | //AES |
| 993 | #if MEDIAINFO_AES |
| 994 | if (ToAdd_Size) |
| 995 | { |
| 996 | if (!IsSub && !Buffer_Temp_Size && File_Offset==Config->File_Current_Offset |
| 997 | && Config->Encryption_Format_Get()==Encryption_Format_Aes |
| 998 | && Config->Encryption_Key_Get().size()==16 |
| 999 | && Config->Encryption_Method_Get()==Encryption_Method_Segment |
| 1000 | && Config->Encryption_Mode_Get()==Encryption_Mode_Cbc |
| 1001 | && Config->Encryption_Padding_Get()==Encryption_Padding_Pkcs7 |
| 1002 | && Config->Encryption_InitializationVector_Get()=="Sequence number") |
| 1003 | { |
| 1004 | delete AES; AES=new AESdecrypt; |
nothing calls this directly
no test coverage detected