Index: include/ogg/ogg.h =================================================================== --- include/ogg/ogg.h (revision 16752) +++ include/ogg/ogg.h (working copy) @@ -73,8 +73,8 @@ logical bitstream */ int b_o_s; /* set after we've written the initial page of a logical bitstream */ - long serialno; - long pageno; + ogg_int32_t serialno; + ogg_int32_t pageno; ogg_int64_t packetno; /* sequence number for decode; the framing knows where there's a hole in the data, but we need coupling so that the codec @@ -179,10 +179,10 @@ /* Ogg BITSTREAM PRIMITIVES: general ***************************/ -extern int ogg_stream_init(ogg_stream_state *os,int serialno); +extern int ogg_stream_init(ogg_stream_state *os,ogg_int32_t serialno); extern int ogg_stream_clear(ogg_stream_state *os); extern int ogg_stream_reset(ogg_stream_state *os); -extern int ogg_stream_reset_serialno(ogg_stream_state *os,int serialno); +extern int ogg_stream_reset_serialno(ogg_stream_state *os,ogg_int32_t serialno); extern int ogg_stream_destroy(ogg_stream_state *os); extern int ogg_stream_check(ogg_stream_state *os); extern int ogg_stream_eos(ogg_stream_state *os); @@ -194,8 +194,8 @@ extern int ogg_page_bos(const ogg_page *og); extern int ogg_page_eos(const ogg_page *og); extern ogg_int64_t ogg_page_granulepos(const ogg_page *og); -extern int ogg_page_serialno(const ogg_page *og); -extern long ogg_page_pageno(const ogg_page *og); +extern ogg_int32_t ogg_page_serialno(const ogg_page *og); +extern ogg_int32_t ogg_page_pageno(const ogg_page *og); extern int ogg_page_packets(const ogg_page *og); extern void ogg_packet_clear(ogg_packet *op); Index: src/framing.c =================================================================== --- src/framing.c (revision 16752) +++ src/framing.c (working copy) @@ -55,18 +55,18 @@ return(granulepos); } -int ogg_page_serialno(const ogg_page *og){ - return(og->header[14] | - (og->header[15]<<8) | - (og->header[16]<<16) | - (og->header[17]<<24)); +ogg_int32_t ogg_page_serialno(const ogg_page *og){ + return((ogg_int32_t)og->header[14] | + ((ogg_int32_t)og->header[15]<<8) | + ((ogg_int32_t)og->header[16]<<16) | + ((ogg_int32_t)og->header[17]<<24)); } -long ogg_page_pageno(const ogg_page *og){ - return(og->header[18] | - (og->header[19]<<8) | - (og->header[20]<<16) | - (og->header[21]<<24)); +ogg_int32_t ogg_page_pageno(const ogg_page *og){ + return((ogg_int32_t)og->header[18] | + ((ogg_int32_t)og->header[19]<<8) | + ((ogg_int32_t)og->header[20]<<16) | + ((ogg_int32_t)og->header[21]<<24)); } @@ -185,7 +185,7 @@ /* init the encode/decode logical stream state */ -int ogg_stream_init(ogg_stream_state *os,int serialno){ +int ogg_stream_init(ogg_stream_state *os,ogg_int32_t serialno){ if(os){ memset(os,0,sizeof(*os)); os->body_storage=16*1024; @@ -436,7 +436,7 @@ /* 32 bits of stream serial number */ { - long serialno=os->serialno; + ogg_int32_t serialno=os->serialno; for(i=14;i<18;i++){ os->header[i]=(unsigned char)(serialno&0xff); serialno>>=8; @@ -451,7 +451,7 @@ encode stream, but it has plausible uses */ { - long pageno=os->pageno++; + ogg_int32_t pageno=os->pageno++; for(i=18;i<22;i++){ os->header[i]=(unsigned char)(pageno&0xff); pageno>>=8; @@ -752,8 +752,8 @@ int bos=ogg_page_bos(og); int eos=ogg_page_eos(og); ogg_int64_t granulepos=ogg_page_granulepos(og); - int serialno=ogg_page_serialno(og); - long pageno=ogg_page_pageno(og); + ogg_int32_t serialno=ogg_page_serialno(og); + ogg_int32_t pageno=ogg_page_pageno(og); int segments=header[26]; if(ogg_stream_check(os)) return -1; @@ -902,7 +902,7 @@ return(0); } -int ogg_stream_reset_serialno(ogg_stream_state *os,int serialno){ +int ogg_stream_reset_serialno(ogg_stream_state *os,ogg_int32_t serialno){ if(ogg_stream_check(os)) return -1; ogg_stream_reset(os); os->serialno=serialno; @@ -1057,12 +1057,12 @@ og->header[0],og->header[1],og->header[2],og->header[3], (int)og->header[4],(int)og->header[5]); - fprintf(stderr," granulepos: %d serialno: %d pageno: %ld\n", - (og->header[9]<<24)|(og->header[8]<<16)| + fprintf(stderr," granulepos: %ld serialno: %ld pageno: %ld\n", + ((ogg_int32_t)og->header[9]<<24)|((ogg_int32_t)og->header[8]<<16)| (og->header[7]<<8)|og->header[6], - (og->header[17]<<24)|(og->header[16]<<16)| + ((ogg_int32_t)og->header[17]<<24)|((ogg_int32_t)og->header[16]<<16)| (og->header[15]<<8)|og->header[14], - ((long)(og->header[21])<<24)|(og->header[20]<<16)| + ((ogg_int32_t)(og->header[21])<<24)|((ogg_int32_t)og->header[20]<<16)| (og->header[19]<<8)|og->header[18]); fprintf(stderr," checksum: %02x:%02x:%02x:%02x\n segments: %d (", @@ -1283,12 +1283,13 @@ void test_pack(const int *pl, const int **headers, int byteskip, int pageskip, int packetskip){ - unsigned char *data=_ogg_malloc(1024*1024); /* for scripted test cases only */ + unsigned char *data=_ogg_malloc(1024L*1024L); /* for scripted test cases only */ long inptr=0; long outptr=0; long deptr=0; long depacket=0; - long granule_pos=7,pageno=0; + long granule_pos=7; + ogg_int32_t pageno=0; int i,j,packets,pageout=pageskip; int eosflag=0; int bosflag=0; @@ -1587,7 +1588,7 @@ { /* build a bunch of pages for testing */ - unsigned char *data=_ogg_malloc(1024*1024); + unsigned char *data=_ogg_malloc(1024L*1024L); int pl[]={0,100,4079,2956,2057,76,34,912,0,234,1000,1000,1000,300,-1}; int inptr=0,i,j; ogg_page og[5];