Commit 623f6fcf authored by Jean-Paul Saman's avatar Jean-Paul Saman

Merge branch 'master' of git.videolan.org:vlc/vlc-1.1

parents e0a5dde7 5dc14c41
Changes between 1.1.7 and 1.1.8-git: Changes between 1.1.7 and 1.1.8-git:
-------------------------------- --------------------------------
Interfaces:
* Luarc and luatelnet fixes
Encoder:
* new libschroedinger-based Dirac codec encoder
Translations:
* Update for Finnish, Galician, Dutch, Chinese, German, Japanese, Lithuanian,
Slovak, French
Changes between 1.1.6 and 1.1.7: Changes between 1.1.6 and 1.1.7:
-------------------------------- --------------------------------
......
...@@ -3060,7 +3060,7 @@ PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto]) ...@@ -3060,7 +3060,7 @@ PKG_ENABLE_MODULES_VLC([DIRAC], [], [dirac >= 0.10.0], [dirac encoder], [auto])
dnl dnl
dnl schroedinger decoder plugin (for dirac format video) dnl schroedinger decoder plugin (for dirac format video)
dnl dnl
PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto]) PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto])
dnl dnl
dnl PNG decoder module dnl PNG decoder module
......
This diff is collapsed.
...@@ -144,7 +144,7 @@ class KaxBlockVirtualWorkaround : public KaxBlockVirtual ...@@ -144,7 +144,7 @@ class KaxBlockVirtualWorkaround : public KaxBlockVirtual
public: public:
void Fix() void Fix()
{ {
if( Data == DataBlock ) if( GetBuffer() == DataBlock )
SetBuffer( NULL, 0 ); SetBuffer( NULL, 0 );
} }
}; };
...@@ -167,7 +167,7 @@ EbmlElement *EbmlParser::Get( void ) ...@@ -167,7 +167,7 @@ EbmlElement *EbmlParser::Get( void )
if( m_el[mi_level] ) if( m_el[mi_level] )
{ {
m_el[mi_level]->SkipData( *m_es, m_el[mi_level]->Generic().Context ); m_el[mi_level]->SkipData( *m_es, EBML_CONTEXT(m_el[mi_level]) );
if( !mb_keep ) if( !mb_keep )
{ {
if( MKV_IS_ID( m_el[mi_level], KaxBlockVirtual ) ) if( MKV_IS_ID( m_el[mi_level], KaxBlockVirtual ) )
...@@ -177,7 +177,7 @@ EbmlElement *EbmlParser::Get( void ) ...@@ -177,7 +177,7 @@ EbmlElement *EbmlParser::Get( void )
mb_keep = false; mb_keep = false;
} }
m_el[mi_level] = m_es->FindNextElement( m_el[mi_level - 1]->Generic().Context, i_ulev, 0xFFFFFFFFL, mb_dummy != 0, 1 ); m_el[mi_level] = m_es->FindNextElement( EBML_CONTEXT(m_el[mi_level - 1]), i_ulev, 0xFFFFFFFFL, mb_dummy != 0, 1 );
// mi_remain_size[mi_level] = m_el[mi_level]->GetSize(); // mi_remain_size[mi_level] = m_el[mi_level]->GetSize();
if( i_ulev > 0 ) if( i_ulev > 0 )
{ {
......
...@@ -56,7 +56,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( demux_t *p_demux, EbmlS ...@@ -56,7 +56,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( demux_t *p_demux, EbmlS
bool b_keep_stream = false, b_keep_segment; bool b_keep_stream = false, b_keep_segment;
// verify the EBML Header // verify the EBML Header
p_l0 = p_estream->FindNextID(EbmlHead::ClassInfos, 0xFFFFFFFFL); p_l0 = p_estream->FindNextID(EBML_INFO(EbmlHead), 0xFFFFFFFFL);
if (p_l0 == NULL) if (p_l0 == NULL)
{ {
msg_Err( p_demux, "No EBML header found" ); msg_Err( p_demux, "No EBML header found" );
...@@ -64,7 +64,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( demux_t *p_demux, EbmlS ...@@ -64,7 +64,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( demux_t *p_demux, EbmlS
} }
// verify we can read this Segment, we only support Matroska version 1 for now // verify we can read this Segment, we only support Matroska version 1 for now
p_l0->Read(*p_estream, EbmlHead::ClassInfos.Context, i_upper_lvl, p_l0, true); p_l0->Read(*p_estream, EBML_CLASS_CONTEXT(EbmlHead), i_upper_lvl, p_l0, true);
EDocType doc_type = GetChild<EDocType>(*static_cast<EbmlHead*>(p_l0)); EDocType doc_type = GetChild<EDocType>(*static_cast<EbmlHead*>(p_l0));
if (std::string(doc_type) != "matroska" && std::string(doc_type) != "webm" ) if (std::string(doc_type) != "matroska" && std::string(doc_type) != "webm" )
...@@ -84,7 +84,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( demux_t *p_demux, EbmlS ...@@ -84,7 +84,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( demux_t *p_demux, EbmlS
// find all segments in this file // find all segments in this file
p_l0 = p_estream->FindNextID(KaxSegment::ClassInfos, 0xFFFFFFFFFLL); p_l0 = p_estream->FindNextID(EBML_INFO(KaxSegment), 0xFFFFFFFFFLL);
if (p_l0 == NULL) if (p_l0 == NULL)
{ {
return NULL; return NULL;
...@@ -111,7 +111,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( demux_t *p_demux, EbmlS ...@@ -111,7 +111,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( demux_t *p_demux, EbmlS
// find the families of this segment // find the families of this segment
KaxInfo *p_info = static_cast<KaxInfo*>(p_l1); KaxInfo *p_info = static_cast<KaxInfo*>(p_l1);
p_info->Read(*p_estream, KaxInfo::ClassInfos.Context, i_upper_lvl, p_l2, true); p_info->Read(*p_estream, EBML_CLASS_CONTEXT(KaxInfo), i_upper_lvl, p_l2, true);
for( i = 0; i < p_info->ListSize(); i++ ) for( i = 0; i < p_info->ListSize(); i++ )
{ {
EbmlElement *l = (*p_info)[i]; EbmlElement *l = (*p_info)[i];
...@@ -157,7 +157,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( demux_t *p_demux, EbmlS ...@@ -157,7 +157,7 @@ matroska_stream_c *demux_sys_t::AnalyseAllSegmentsFound( demux_t *p_demux, EbmlS
if (p_l0->IsFiniteSize() ) if (p_l0->IsFiniteSize() )
{ {
p_l0->SkipData(*p_estream, KaxMatroska_Context); p_l0->SkipData(*p_estream, KaxMatroska_Context);
p_l0 = p_estream->FindNextID(KaxSegment::ClassInfos, 0xFFFFFFFFL); p_l0 = p_estream->FindNextID(EBML_INFO(KaxSegment), 0xFFFFFFFFL);
} }
else else
{ {
......
...@@ -220,6 +220,7 @@ void matroska_segment_c::LoadTags( KaxTags *tags ) ...@@ -220,6 +220,7 @@ void matroska_segment_c::LoadTags( KaxTags *tags )
} }
ep->Up(); ep->Up();
} }
#if LIBMATROSKA_VERSION < 0x010100
else if( MKV_IS_ID( el, KaxTagGeneral ) ) else if( MKV_IS_ID( el, KaxTagGeneral ) )
{ {
msg_Dbg( &sys.demuxer, "| + General" ); msg_Dbg( &sys.demuxer, "| + General" );
...@@ -288,6 +289,7 @@ void matroska_segment_c::LoadTags( KaxTags *tags ) ...@@ -288,6 +289,7 @@ void matroska_segment_c::LoadTags( KaxTags *tags )
{ {
msg_Dbg( &sys.demuxer, "| + Multi Title" ); msg_Dbg( &sys.demuxer, "| + Multi Title" );
} }
#endif
else else
{ {
msg_Dbg( &sys.demuxer, "| + LoadTag Unknown (%s)", typeid( *el ).name() ); msg_Dbg( &sys.demuxer, "| + LoadTag Unknown (%s)", typeid( *el ).name() );
......
...@@ -57,7 +57,7 @@ void matroska_segment_c::ParseSeekHead( KaxSeekHead *seekhead ) ...@@ -57,7 +57,7 @@ void matroska_segment_c::ParseSeekHead( KaxSeekHead *seekhead )
{ {
if( MKV_IS_ID( l, KaxSeek ) ) if( MKV_IS_ID( l, KaxSeek ) )
{ {
EbmlId id = EbmlVoid::ClassInfos.GlobalId; EbmlId id = EBML_ID(EbmlVoid);
int64_t i_pos = -1; int64_t i_pos = -1;
msg_Dbg( &sys.demuxer, "| | + Seek" ); msg_Dbg( &sys.demuxer, "| | + Seek" );
...@@ -86,40 +86,40 @@ void matroska_segment_c::ParseSeekHead( KaxSeekHead *seekhead ) ...@@ -86,40 +86,40 @@ void matroska_segment_c::ParseSeekHead( KaxSeekHead *seekhead )
if( i_pos >= 0 ) if( i_pos >= 0 )
{ {
if( id == KaxCues::ClassInfos.GlobalId ) if( id == EBML_ID(KaxCues) )
{ {
msg_Dbg( &sys.demuxer, "| - cues at %"PRId64, i_pos ); msg_Dbg( &sys.demuxer, "| - cues at %"PRId64, i_pos );
LoadSeekHeadItem( KaxCues::ClassInfos, i_pos ); LoadSeekHeadItem( EBML_INFO(KaxCues), i_pos );
} }
else if( id == KaxInfo::ClassInfos.GlobalId ) else if( id == EBML_ID(KaxInfo) )
{ {
msg_Dbg( &sys.demuxer, "| - info at %"PRId64, i_pos ); msg_Dbg( &sys.demuxer, "| - info at %"PRId64, i_pos );
LoadSeekHeadItem( KaxInfo::ClassInfos, i_pos ); LoadSeekHeadItem( EBML_INFO(KaxInfo), i_pos );
} }
else if( id == KaxChapters::ClassInfos.GlobalId ) else if( id == EBML_ID(KaxChapters) )
{ {
msg_Dbg( &sys.demuxer, "| - chapters at %"PRId64, i_pos ); msg_Dbg( &sys.demuxer, "| - chapters at %"PRId64, i_pos );
LoadSeekHeadItem( KaxChapters::ClassInfos, i_pos ); LoadSeekHeadItem( EBML_INFO(KaxChapters), i_pos );
} }
else if( id == KaxTags::ClassInfos.GlobalId ) else if( id == EBML_ID(KaxTags) )
{ {
msg_Dbg( &sys.demuxer, "| - tags at %"PRId64, i_pos ); msg_Dbg( &sys.demuxer, "| - tags at %"PRId64, i_pos );
LoadSeekHeadItem( KaxTags::ClassInfos, i_pos ); LoadSeekHeadItem( EBML_INFO(KaxTags), i_pos );
} }
else if( id == KaxSeekHead::ClassInfos.GlobalId ) else if( id == EBML_ID(KaxSeekHead) )
{ {
msg_Dbg( &sys.demuxer, "| - chained seekhead at %"PRId64, i_pos ); msg_Dbg( &sys.demuxer, "| - chained seekhead at %"PRId64, i_pos );
LoadSeekHeadItem( KaxSeekHead::ClassInfos, i_pos ); LoadSeekHeadItem( EBML_INFO(KaxSeekHead), i_pos );
} }
else if( id == KaxTracks::ClassInfos.GlobalId ) else if( id == EBML_ID(KaxTracks) )
{ {
msg_Dbg( &sys.demuxer, "| - tracks at %"PRId64, i_pos ); msg_Dbg( &sys.demuxer, "| - tracks at %"PRId64, i_pos );
LoadSeekHeadItem( KaxTracks::ClassInfos, i_pos ); LoadSeekHeadItem( EBML_INFO(KaxTracks), i_pos );
} }
else if( id == KaxAttachments::ClassInfos.GlobalId ) else if( id == EBML_ID(KaxAttachments) )
{ {
msg_Dbg( &sys.demuxer, "| - attachments at %"PRId64, i_pos ); msg_Dbg( &sys.demuxer, "| - attachments at %"PRId64, i_pos );
LoadSeekHeadItem( KaxAttachments::ClassInfos, i_pos ); LoadSeekHeadItem( EBML_INFO(KaxAttachments), i_pos );
} }
else else
msg_Dbg( &sys.demuxer, "| - unknown seekhead reference at %"PRId64, i_pos ); msg_Dbg( &sys.demuxer, "| - unknown seekhead reference at %"PRId64, i_pos );
...@@ -654,7 +654,7 @@ void matroska_segment_c::ParseTracks( KaxTracks *tracks ) ...@@ -654,7 +654,7 @@ void matroska_segment_c::ParseTracks( KaxTracks *tracks )
int i_upper_level = 0; int i_upper_level = 0;
/* Master elements */ /* Master elements */
tracks->Read( es, tracks->Generic().Context, i_upper_level, el, true ); tracks->Read( es, EBML_CONTEXT(tracks), i_upper_level, el, true );
for( i = 0; i < tracks->ListSize(); i++ ) for( i = 0; i < tracks->ListSize(); i++ )
{ {
...@@ -683,7 +683,7 @@ void matroska_segment_c::ParseInfo( KaxInfo *info ) ...@@ -683,7 +683,7 @@ void matroska_segment_c::ParseInfo( KaxInfo *info )
/* Master elements */ /* Master elements */
m = static_cast<EbmlMaster *>(info); m = static_cast<EbmlMaster *>(info);
m->Read( es, info->Generic().Context, i_upper_level, el, true ); m->Read( es, EBML_CONTEXT(info), i_upper_level, el, true );
for( i = 0; i < m->ListSize(); i++ ) for( i = 0; i < m->ListSize(); i++ )
{ {
...@@ -792,7 +792,7 @@ void matroska_segment_c::ParseInfo( KaxInfo *info ) ...@@ -792,7 +792,7 @@ void matroska_segment_c::ParseInfo( KaxInfo *info )
KaxChapterTranslate *p_trans = static_cast<KaxChapterTranslate*>( l ); KaxChapterTranslate *p_trans = static_cast<KaxChapterTranslate*>( l );
chapter_translation_c *p_translate = new chapter_translation_c(); chapter_translation_c *p_translate = new chapter_translation_c();
p_trans->Read( es, p_trans->Generic().Context, i_upper_level, el, true ); p_trans->Read( es, EBML_CONTEXT(p_trans), i_upper_level, el, true );
for( j = 0; j < p_trans->ListSize(); j++ ) for( j = 0; j < p_trans->ListSize(); j++ )
{ {
EbmlElement *l = (*p_trans)[j]; EbmlElement *l = (*p_trans)[j];
...@@ -961,7 +961,7 @@ void matroska_segment_c::ParseAttachments( KaxAttachments *attachments ) ...@@ -961,7 +961,7 @@ void matroska_segment_c::ParseAttachments( KaxAttachments *attachments )
EbmlElement *el; EbmlElement *el;
int i_upper_level = 0; int i_upper_level = 0;
attachments->Read( es, attachments->Generic().Context, i_upper_level, el, true ); attachments->Read( es, EBML_CONTEXT(attachments), i_upper_level, el, true );
KaxAttached *attachedFile = FindChild<KaxAttached>( *attachments ); KaxAttached *attachedFile = FindChild<KaxAttached>( *attachments );
...@@ -1006,7 +1006,7 @@ void matroska_segment_c::ParseChapters( KaxChapters *chapters ) ...@@ -1006,7 +1006,7 @@ void matroska_segment_c::ParseChapters( KaxChapters *chapters )
mtime_t i_dur; mtime_t i_dur;
/* Master elements */ /* Master elements */
chapters->Read( es, chapters->Generic().Context, i_upper_level, el, true ); chapters->Read( es, EBML_CONTEXT(chapters), i_upper_level, el, true );
for( i = 0; i < chapters->ListSize(); i++ ) for( i = 0; i < chapters->ListSize(); i++ )
{ {
...@@ -1078,7 +1078,7 @@ void matroska_segment_c::ParseCluster( ) ...@@ -1078,7 +1078,7 @@ void matroska_segment_c::ParseCluster( )
/* Master elements */ /* Master elements */
m = static_cast<EbmlMaster *>( cluster ); m = static_cast<EbmlMaster *>( cluster );
m->Read( es, cluster->Generic().Context, i_upper_level, el, true ); m->Read( es, EBML_CONTEXT(cluster), i_upper_level, el, true );
for( i = 0; i < m->ListSize(); i++ ) for( i = 0; i < m->ListSize(); i++ )
{ {
......
...@@ -92,13 +92,15 @@ ...@@ -92,13 +92,15 @@
#include "matroska/KaxSegment.h" #include "matroska/KaxSegment.h"
#include "matroska/KaxTag.h" #include "matroska/KaxTag.h"
#include "matroska/KaxTags.h" #include "matroska/KaxTags.h"
#include "matroska/KaxVersion.h"
#if LIBMATROSKA_VERSION < 0x010100
#include "matroska/KaxTagMulti.h" #include "matroska/KaxTagMulti.h"
#endif
#include "matroska/KaxTracks.h" #include "matroska/KaxTracks.h"
#include "matroska/KaxTrackAudio.h" #include "matroska/KaxTrackAudio.h"
#include "matroska/KaxTrackVideo.h" #include "matroska/KaxTrackVideo.h"
#include "matroska/KaxTrackEntryData.h" #include "matroska/KaxTrackEntryData.h"
#include "matroska/KaxContentEncoding.h" #include "matroska/KaxContentEncoding.h"
#include "matroska/KaxVersion.h"
#include "ebml/StdIOCallback.h" #include "ebml/StdIOCallback.h"
...@@ -121,6 +123,12 @@ extern "C" { ...@@ -121,6 +123,12 @@ extern "C" {
#define MKV_IS_ID( el, C ) ( el != NULL && typeid( *el ) == typeid( C ) ) #define MKV_IS_ID( el, C ) ( el != NULL && typeid( *el ) == typeid( C ) )
#if LIBEBML_VERSION < 0x010000
#define EBML_INFO(ref) ref::ClassInfos
#define EBML_ID(ref) ref::ClassInfos.GlobalId
#define EBML_CLASS_CONTEXT(ref) ref::ClassInfos.Context
#define EBML_CONTEXT(e) (e)->Generic().Context
#endif
using namespace LIBMATROSKA_NAMESPACE; using namespace LIBMATROSKA_NAMESPACE;
using namespace std; using namespace std;
......
...@@ -25259,9 +25259,9 @@ msgid "" ...@@ -25259,9 +25259,9 @@ msgid ""
msgstr "" msgstr ""
"Votre pilote vidéo ne supporte pas la résolution demandée : %ux%u pixels. La " "Votre pilote vidéo ne supporte pas la résolution demandée : %ux%u pixels. La "
"résolution maximale supportée est %<PRIu32>x%<PRIu32>.\n" "résolution maximale supportée est %<PRIu32>x%<PRIu32>.\n"
"La sortie vidéo accéléré sera inhibée. Cependant, utiliser des résolutions " "La sortie vidéo accélérée sera inhibée. Cependant, utiliser des résolutions "
"très grandes pour la vidéo est souvent case de sévères dégradations de la " "très grandes pour la vidéo peut provoquer de fortes dégradations des "
"performance." "performances."
#: modules/video_output/yuv.c:41 #: modules/video_output/yuv.c:41
msgid "device, fifo or filename" msgid "device, fifo or filename"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment