FileProperties::FileProperties( const FormatContext& formatContext )
	: _formatContext( &formatContext.getAVFormatContext() )
	, _videoStreams()
	, _audioStreams()
	, _dataStreams()
	, _subtitleStreams()
	, _attachementStreams()
	, _unknownStreams()
{
	if( _formatContext )
		detail::fillMetadataDictionnary( _formatContext->metadata, _metadatas );
}
FileProperties::FileProperties(const FormatContext& formatContext)
    : _formatContext(&formatContext)
    , _avFormatContext(&formatContext.getAVFormatContext())
    , _videoStreams()
    , _audioStreams()
    , _dataStreams()
    , _subtitleStreams()
    , _attachementStreams()
    , _unknownStreams()
{
    if(_avFormatContext)
        detail::fillMetadataDictionnary(_avFormatContext->metadata, _metadatas);

    NoDisplayProgress progress;
    extractStreamProperties(progress, eAnalyseLevelHeader);
}