Skip to content

Commit

Permalink
* r504 release sp build-20812
Browse files Browse the repository at this point in the history
  • Loading branch information
pavel-pimenov committed Jun 24, 2017
1 parent 7364008 commit 789283c
Show file tree
Hide file tree
Showing 86 changed files with 1,262 additions and 917 deletions.
7 changes: 6 additions & 1 deletion FlylinkDC.rc
Original file line number Diff line number Diff line change
Expand Up @@ -1889,7 +1889,7 @@ BEGIN
LTEXT "Upload: xx.xx MB",IDC_TOTAL_UPLOAD,8,10,127,8,0,WS_EX_TRANSPARENT
LTEXT "Download: xx.xx MB",IDC_TOTAL_DOWNLOAD,152,10,127,8
LTEXT "Ratio (Up/Down): x.xx",IDC_RATIO,8,19,127,8
EDITTEXT IDC_UDP_DHT_SSL_STAT,8,30,284,139,ES_MULTILINE | ES_READONLY | NOT WS_TABSTOP
EDITTEXT IDC_UDP_DHT_SSL_STAT,8,30,284,139,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_VSCROLL | NOT WS_TABSTOP
END


Expand Down Expand Up @@ -3219,6 +3219,11 @@ BEGIN
0
END

IDD_ABOUTSTAT AFX_DIALOG_LAYOUT
BEGIN
0
END

#endif // Russian (Russia) resources
/////////////////////////////////////////////////////////////////////////////

Expand Down
11 changes: 7 additions & 4 deletions MediaInfoLib/Source/MediaInfo/Audio/File_Aac.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -151,13 +151,14 @@ void File_Aac::Streams_Update()
switch(Mode)
{
case Mode_ADTS :
case Mode_LATM : if (Config->File_RiskyBitRateEstimation_Get() && !adts_buffer_fullness_Is7FF)
case Mode_LATM : if (Config->File_RiskyBitRateEstimation_Get() && !adts_buffer_fullness_Is7FF && (Config->ParseSpeed<1.0 || File_Offset+Buffer_Offset<File_Size))
{
int64u BitRate=(Frequency_b/1024);
float64 BitRate=((float64)Frequency_b)/frame_length;
BitRate*=aac_frame_length_Total*8;
BitRate/=Frame_Count;

Fill(Stream_Audio, 0, Audio_BitRate, BitRate, 10, true);
Fill(Stream_Audio, 0, Audio_Duration, (File_Size-Buffer_TotalBytes_FirstSynched)/BitRate*8*1000, 0, true);
}
break;
default : ;
Expand All @@ -183,8 +184,10 @@ void File_Aac::Streams_Finish()
Fill(Stream_Audio, 0, Audio_BitRate_Mode, "VBR", Unlimited, true, true);
if (Config->ParseSpeed>=1.0)
{
Fill(Stream_Audio, 0, Audio_BitRate_Minimum, ((float64)FrameSize_Min)/1024*48000*8, 0);
Fill(Stream_Audio, 0, Audio_BitRate_Maximum, ((float64)FrameSize_Max)/1024*48000*8, 0);
Fill(Stream_Audio, 0, Audio_BitRate_Minimum, ((float64)FrameSize_Min)/frame_length*Frequency_b*8, 0);
Fill(Stream_Audio, 0, Audio_BitRate_Maximum, ((float64)FrameSize_Max)/frame_length*Frequency_b*8, 0);
Fill(Stream_Audio, 0, Audio_SamplingCount, Frame_Count*frame_length);
Fill(Stream_Audio, 0, Audio_Duration, ((float64)Frame_Count)*frame_length/Frequency_b*1000, 0);
}
}
else if (Config->ParseSpeed>=1.0)
Expand Down
1 change: 1 addition & 0 deletions MediaInfoLib/Source/MediaInfo/Audio/File_Mpc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,7 @@ void File_Mpc::FileHeader_Parse()
Fill(Stream_Audio, 0, Audio_Codec_Settings, Mpc_Profile[Profile]);
Fill(Stream_Audio, 0, Audio_Encoded_Library, Encoder);
Fill(Stream_Audio, 0, Audio_BitDepth, 16); //MPC support only 16 bits
Fill(Stream_Audio, 0, Audio_Channel_s_, 2); // MPC support only stereo
Fill(Stream_Audio, 0, Audio_Duration, ((int64u)FrameCount)*1152*1000/Mpc_SampleFreq[SampleFreq]);
if (FrameCount)
Fill(Stream_Audio, 0, Audio_BitRate, (File_Size-25)*8*Mpc_SampleFreq[SampleFreq]/FrameCount/1152);
Expand Down
12 changes: 12 additions & 0 deletions MediaInfoLib/Source/MediaInfo/Audio/File_Mpega.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -573,6 +573,18 @@ bool File_Mpega::Synchronize()
if (Tag_Found_Begin)
return true;

//Synchro
if (Buffer_Offset+3>Buffer_Size)
return false;
if (!Status[IsAccepted]
&& Buffer[Buffer_Offset+0]==0x46 //"FLV"
&& Buffer[Buffer_Offset+1]==0x4C
&& Buffer[Buffer_Offset+2]==0x56)
{
File__Tags_Helper::Reject(); //Parser accepts too easily FLV files with MPEG Audio (synchronization lost due to FLV header is not enough), rejecting if FLV magic value is found before the first synchro
return false;
}

//Synchronizing
while (Buffer_Offset+4<=Buffer_Size)
{
Expand Down
40 changes: 19 additions & 21 deletions MediaInfoLib/Source/MediaInfo/Audio/File_Speex.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -99,29 +99,27 @@ void File_Speex::Identification()
Skip_L4( "reserved2");
if (header_size<Element_Size)
Skip_XX(Element_Size-header_size, "Unknown");

//Filling
FILLING_BEGIN();
Accept("Speex");

Stream_Prepare(Stream_Audio);
Fill(Stream_Audio, 0, Audio_Format, "Speex");
Fill(Stream_Audio, 0, Audio_Codec, "Speex");
if (Speex_version_id==1)
{
if (!speex_version.empty())
Fill(Stream_Audio, 0, Audio_Encoded_Library, speex_version);
Fill(Stream_Audio, 0, Audio_SamplingRate, rate);
Fill(Stream_Audio, 0, Audio_Channel_s_, nb_channels);
if (bitrate!=(int32u)-1)
Fill(Stream_Audio, 0, Audio_BitRate, bitrate);
Fill(Stream_Audio, 0, Audio_BitRate_Mode, vbr?"VBR":"CBR");
}
FILLING_END();
}

//Filling
Identification_Done=true;
FILLING_BEGIN();
Accept("Speex");

Stream_Prepare(Stream_Audio);
Fill(Stream_Audio, 0, Audio_Format, "Speex");
Fill(Stream_Audio, 0, Audio_Codec, "Speex");
if (Speex_version_id==1)
{
if (!speex_version.empty())
Fill(Stream_Audio, 0, Audio_Encoded_Library, speex_version);
Fill(Stream_Audio, 0, Audio_SamplingRate, rate);
Fill(Stream_Audio, 0, Audio_Channel_s_, nb_channels);
if (bitrate!=(int32u)-1)
Fill(Stream_Audio, 0, Audio_BitRate, bitrate);
Fill(Stream_Audio, 0, Audio_BitRate_Mode, vbr?"VBR":"CBR");
}

Identification_Done=true;
FILLING_END();
}

//---------------------------------------------------------------------------
Expand Down
20 changes: 20 additions & 0 deletions MediaInfoLib/Source/MediaInfo/File__Analyze.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2704,6 +2704,26 @@ void File__Analyze::Element_Parser(const char* Parser)
}
#endif //MEDIAINFO_TRACE

//---------------------------------------------------------------------------
#if MEDIAINFO_TRACE
void File__Analyze::Element_Error(const char* Message)
{
//Needed?
if (Config_Trace_Level<=0.7)
return;

Element[Element_Level].TraceNode.Infos.push_back(new element_details::Element_Node_Info(Message, "Error"));
}
#endif //MEDIAINFO_TRACE

//---------------------------------------------------------------------------
#if MEDIAINFO_TRACE
void File__Analyze::Param_Error(const char* Message)
{
Param_Info(Message, "Error");
}
#endif //MEDIAINFO_TRACE

//---------------------------------------------------------------------------
#if MEDIAINFO_TRACE
element_details::Element_Node *File__Analyze::Get_Trace_Node(size_t level)
Expand Down
2 changes: 2 additions & 0 deletions MediaInfoLib/Source/MediaInfo/File__Analyze.h
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,8 @@ protected :
inline void Element_Info_From_Milliseconds (int64u Parameter) {if (Config_Trace_Level<1) return; Element_Info(Ztring().Duration_From_Milliseconds(Parameter));}

void Element_Parser (const char* Name);
void Element_Error (const char* Name);
void Param_Error (const char* Name);

//Elements - End
inline void Element_End () {Element_End_Common_Flush();}
Expand Down
26 changes: 21 additions & 5 deletions MediaInfoLib/Source/MediaInfo/File__Analyze_Element.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -716,9 +716,14 @@ int element_details::Element_Node::Print_Micro_Xml(print_struc& s)
s.ss << " parser=\"" << Info->data << "\"";
continue;
}
else
info_nb++;
if (Info->Measure == "Error")
{
if (!(Info->data == string()))
s.ss << " e=\"" << Info->data << "\"";
continue;
}

info_nb++;
s.ss << " i";
if (info_nb > 1)
s.ss << info_nb;
Expand Down Expand Up @@ -794,13 +799,18 @@ int element_details::Element_Node::Print_Xml(print_struc& s)
s.ss << " parser=\"" << Info->data << "\"";
continue;
}
else
info_nb++;
if (Info->Measure == "Error")
{
if (!(Info->data == string()))
s.ss << " error=\"" << Info->data << "\"";
continue;
}

info_nb++;
s.ss << " info";
if (info_nb > 1)
s.ss << info_nb;
s.ss << "=\"" << Infos[i] << "\"";
s.ss << "=\"" << Info << "\"";
}

if (!Value.empty())
Expand Down Expand Up @@ -901,6 +911,12 @@ int element_details::Element_Node::Print_Tree(print_struc& s)
s.ss << " - Parser=" << Info->data;
continue;
}
if (Info->Measure == "Error")
{
if (!(Info->data == string()))
s.ss << " - Error=" << Info->data;
continue;
}

Info->data.Set_Output_Format(Element_Node_Data::Format_Tree);
s.ss << " - " << Info;
Expand Down
4 changes: 3 additions & 1 deletion MediaInfoLib/Source/MediaInfo/File__Analyze_MinimizeSize.h
Original file line number Diff line number Diff line change
Expand Up @@ -319,7 +319,9 @@ protected :
#define Element_Info3(_A,_B,_C)
#define Element_Info1C(_CONDITION,_A)
#define Element_Info_From_Milliseconds(_A)
#define Element_Parser(_A)
#define Element_Parser(_A) {}
#define Element_Error(_A) {}
#define Param_Error(_A) {}

//Elements - End
inline void Element_End () {Element_End_Common_Flush();}
Expand Down
2 changes: 1 addition & 1 deletion MediaInfoLib/Source/MediaInfo/File__Analyze_Streams.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2288,7 +2288,7 @@ void File__Analyze::Value_Value123(stream_t StreamKind, size_t StreamPos, size_t
{
List2[0] += __T(" (");
List2[0] += SamplesPerFrame;
List2[0] += __T(" spf)");
List2[0] += __T(" SPF)");
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@ void File__Analyze::Streams_Finish_StreamOnly(stream_t StreamKind, size_t Pos)
}

//Duration from Bitrate and StreamSize
if (StreamKind!=Stream_Other && Retrieve(StreamKind, Pos, Fill_Parameter(StreamKind, Generic_Duration)).empty() && !Retrieve(StreamKind, Pos, Fill_Parameter(StreamKind, Generic_StreamSize)).empty() && !Retrieve(StreamKind, Pos, "BitRate").empty() && Count_Get(Stream_Video)+Count_Get(Stream_Audio)>1) //If only one stream, duration will be copied later, useful for exact bitrate calculation
if (StreamKind!=Stream_Other && Retrieve(StreamKind, Pos, Fill_Parameter(StreamKind, Generic_Duration)).empty() && !Retrieve(StreamKind, Pos, Fill_Parameter(StreamKind, Generic_StreamSize)).empty() && !Retrieve(StreamKind, Pos, "BitRate").empty() && Count_Get(Stream_Video)+Count_Get(Stream_Audio)>1) //If only one stream, duration will be copied later, useful for exact bitrate calculation //TODO: enable it aslo for 1 stream, after handling of incoherencies found during tests
{
int64u BitRate=Retrieve(StreamKind, Pos, "BitRate").To_int64u();
int64u StreamSize=Retrieve(StreamKind, Pos, Fill_Parameter(StreamKind, Generic_StreamSize)).To_int64u();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,7 @@ void MediaInfo_Config_DefaultLanguage (Translation &Info)
"Format_Settings_PS;Format settings, PS\n"
"Format_Settings_Pulldown;Format settings, Pulldown\n"
"Format_Settings_QPel;Format settings, QPel\n"
"Format_Settings_RefFrames;Format settings, ReFrames\n"
"Format_Settings_RefFrames;Format settings, RefFrames\n"
"Format_Settings_SBR;Format settings, SBR\n"
"Format_Settings_Sign;Format settings, Sign\n"
"Format_Settings_Wrapping;Format settings, wrapping mode\n"
Expand Down
Loading

0 comments on commit 789283c

Please sign in to comment.