Expose the AVISTREAMHEADER structures to the application.

This commit is contained in:
Moritz Bunkus 2004-06-03 20:59:30 +00:00
parent 439bb2a536
commit 1ae1519508
2 changed files with 11 additions and 8 deletions

View File

@ -2332,6 +2332,8 @@ int avi_parse_input_file(avi_t *AVI, int getIndex)
AVI->max_len = 0;
vids_strh_seen = 1;
lasttag = 1; /* vids */
memcpy(&AVI->video_stream_header, hdrl_data + i,
sizeof(alAVISTREAMHEADER));
}
else if (strncasecmp ((char *)hdrl_data+i,"auds",4) ==0 && ! auds_strh_seen)
{
@ -2352,6 +2354,8 @@ int avi_parse_input_file(avi_t *AVI, int getIndex)
AVI->track[AVI->aptr].a_vbr = !str2ulong(hdrl_data+i+44);
AVI->track[AVI->aptr].padrate = str2ulong(hdrl_data+i+24);
memcpy(&AVI->stream_headers[AVI->aptr], hdrl_data + i,
sizeof(alAVISTREAMHEADER));
// auds_strh_seen = 1;
lasttag = 2; /* auds */

View File

@ -190,14 +190,11 @@ typedef struct __attribute__((__packed__))
uint32_t dw_suggested_buffer_size;
uint32_t dw_quality;
uint32_t dw_sample_size;
uint32_t dw_left;
uint32_t dw_top;
uint32_t dw_right;
uint32_t dw_bottom;
uint32_t dw_edit_count;
uint32_t dw_format_change_count;
char sz_name[64];
} alAVISTREAMINFO;
uint16_t dw_left;
uint16_t dw_top;
uint16_t dw_right;
uint16_t dw_bottom;
} alAVISTREAMHEADER;
typedef struct
{
@ -215,6 +212,7 @@ typedef struct
char video_tag[4]; /* Tag of video data */
long video_pos; /* Number of next frame to be read
(if index present) */
alAVISTREAMHEADER video_stream_header;
uint32_t max_len; /* maximum video chunk present */
@ -246,6 +244,7 @@ typedef struct
alBITMAPINFOHEADER *bitmap_info_header;
alWAVEFORMATEX *wave_format_ex[AVI_MAX_TRACKS];
alAVISTREAMHEADER stream_headers[AVI_MAX_TRACKS];
void* extradata;
unsigned long extradata_size;