From 8a926cfe43464c804fbf4fe9e4dba479fc2e0cc0 Mon Sep 17 00:00:00 2001 From: Claudio Ciccani Date: Thu, 31 May 2007 16:57:28 +0100 Subject: Patch: fix parsing qt/mov embedded refernces The attached patch fixes a problem with embedded references in recent versions of quicktime's movie formats. Apparently there is an additional atom (RMRA) before the RMDA atom: it works like a container for all subsequent atoms, so it can be safely skipped. You can test yourself what I'm saying by watching some trailers at apple.com (http://www.apple.com/trailers). -- Regards, Claudio Ciccani klan@users.sf.net http://directfb.org http://sf.net/projects/php-directfb --- src/demuxers/demux_qt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c index 0624dc673..23a45c792 100644 --- a/src/demuxers/demux_qt.c +++ b/src/demuxers/demux_qt.c @@ -121,6 +121,7 @@ typedef unsigned int qt_atom; #define WRT_ATOM QT_ATOM(0xA9, 'w', 'r', 't') #define DAY_ATOM QT_ATOM(0xA9, 'd', 'a', 'y') +#define RMRA_ATOM QT_ATOM('r', 'm', 'r', 'a') #define RMDA_ATOM QT_ATOM('r', 'm', 'd', 'a') #define RDRF_ATOM QT_ATOM('r', 'd', 'r', 'f') #define RMDR_ATOM QT_ATOM('r', 'm', 'd', 'r') @@ -1987,7 +1988,8 @@ static void parse_moov_atom(qt_info *info, unsigned char *moov_atom, strncpy(info->comment, &moov_atom[i + 8], string_size - 1); info->comment[string_size - 1] = 0; - } else if (current_atom == RMDA_ATOM) { + } else if (current_atom == RMDA_ATOM || + current_atom == RMRA_ATOM) { /* create a new reference structure */ info->reference_count++; -- cgit v1.2.3 From 19f41dd6d7d81c10b3f329faa1c895c8b322548d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20=27Flameeyes=27=20Petten=C3=B2?= Date: Thu, 31 May 2007 19:43:09 +0200 Subject: Don't include the local copy of frame.h and synth.h when building with external libmad. --- src/libmad/xine_mad_decoder.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/libmad/xine_mad_decoder.c b/src/libmad/xine_mad_decoder.c index 28407cfec..98695db68 100644 --- a/src/libmad/xine_mad_decoder.c +++ b/src/libmad/xine_mad_decoder.c @@ -39,10 +39,15 @@ #include "xine_internal.h" #include "audio_out.h" #include "buffer.h" -#include "frame.h" -#include "synth.h" #include "xineutils.h" +#ifdef HAVE_MAD_H +# include +#else +# include "frame.h" +# include "synth.h" +#endif + #define INPUT_BUF_SIZE 16384 typedef struct { -- cgit v1.2.3