vlc | branch: master | Jean-Baptiste Kempf <[email protected]> | Thu May 24 14:29:59 2012 +0200| [5d39e77b6b0af8dbf2df4ba3a336fb469a9488a9] | committer: Jean-Baptiste Kempf
AVI: parse dmlh chunk > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5d39e77b6b0af8dbf2df4ba3a336fb469a9488a9 --- modules/demux/avi/libavi.c | 16 ++++++++++++++++ modules/demux/avi/libavi.h | 7 +++++++ 2 files changed, 23 insertions(+) diff --git a/modules/demux/avi/libavi.c b/modules/demux/avi/libavi.c index 748b78f..e0af443 100644 --- a/modules/demux/avi/libavi.c +++ b/modules/demux/avi/libavi.c @@ -613,6 +613,21 @@ static int AVI_ChunkRead_vprp( stream_t *s, avi_chunk_t *p_chk ) AVI_READCHUNK_EXIT( VLC_SUCCESS ); } +static int AVI_ChunkRead_dmlh( stream_t *s, avi_chunk_t *p_chk ) +{ + avi_chunk_dmlh_t *p_dmlh = (avi_chunk_dmlh_t*)p_chk; + + AVI_READCHUNK_ENTER; + + AVI_READ4BYTES( p_dmlh->dwTotalFrames ); + +#ifdef AVI_DEBUG + msg_Dbg( (vlc_object_t*)s, "dmlh: dwTotalFrames %d", + p_dmlh->dwTotalFrames ); +#endif + AVI_READCHUNK_EXIT( VLC_SUCCESS ); +} + static const struct { vlc_fourcc_t i_fourcc; @@ -724,6 +739,7 @@ static const struct { AVIFOURCC_indx, AVI_ChunkRead_indx, AVI_ChunkFree_indx }, { AVIFOURCC_vprp, AVI_ChunkRead_vprp, AVI_ChunkFree_nothing }, { AVIFOURCC_JUNK, AVI_ChunkRead_nothing, AVI_ChunkFree_nothing }, + { AVIFOURCC_dmlh, AVI_ChunkRead_dmlh, AVI_ChunkFree_nothing }, { AVIFOURCC_IARL, AVI_ChunkRead_strz, AVI_ChunkFree_strz }, { AVIFOURCC_IART, AVI_ChunkRead_strz, AVI_ChunkFree_strz }, diff --git a/modules/demux/avi/libavi.h b/modules/demux/avi/libavi.h index 1dde7dd..c2d720d 100644 --- a/modules/demux/avi/libavi.h +++ b/modules/demux/avi/libavi.h @@ -171,6 +171,12 @@ typedef struct avi_chunk_vprp_s } avi_chunk_vprp_t; +typedef struct avi_chunk_dmlh_s +{ + AVI_CHUNK_COMMON + uint32_t dwTotalFrames; +} avi_chunk_dmlh_t; + #define AVI_INDEX_OF_INDEXES 0x00 #define AVI_INDEX_OF_CHUNKS 0x01 @@ -281,6 +287,7 @@ void AVI_ChunkFreeRoot( stream_t *, avi_chunk_t *p_chk ); #define AVIFOURCC_strn VLC_FOURCC('s','t','r','n') #define AVIFOURCC_indx VLC_FOURCC('i','n','d','x') #define AVIFOURCC_vprp VLC_FOURCC('v','p','r','p') +#define AVIFOURCC_dmlh VLC_FOURCC('d','m','l','h') #define AVIFOURCC_rec VLC_FOURCC('r','e','c',' ') #define AVIFOURCC_auds VLC_FOURCC('a','u','d','s') _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
