Browse code

avio: make get_checksum() internal.

Anton Khirnov authored on 2011/03/17 21:04:38
Showing 6 changed files
... ...
@@ -455,6 +455,7 @@ attribute_deprecated int udp_get_local_port(URLContext *h);
455 455
 attribute_deprecated void init_checksum(AVIOContext *s,
456 456
                    unsigned long (*update_checksum)(unsigned long c, const uint8_t *p, unsigned int len),
457 457
                    unsigned long checksum);
458
+attribute_deprecated unsigned long get_checksum(AVIOContext *s);
458 459
 #endif
459 460
 
460 461
 AVIOContext *avio_alloc_context(
... ...
@@ -675,8 +676,6 @@ int url_open_dyn_packet_buf(AVIOContext **s, int max_packet_size);
675 675
  */
676 676
 int url_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer);
677 677
 
678
-unsigned long get_checksum(AVIOContext *s);
679
-
680 678
 #if FF_API_UDP_GET_FILE
681 679
 int udp_get_file_handle(URLContext *h);
682 680
 #endif
... ...
@@ -77,6 +77,7 @@ int ff_udp_get_local_port(URLContext *h);
77 77
 void ffio_init_checksum(AVIOContext *s,
78 78
                         unsigned long (*update_checksum)(unsigned long c, const uint8_t *p, unsigned int len),
79 79
                         unsigned long checksum);
80
+unsigned long ffio_get_checksum(AVIOContext *s);
80 81
 unsigned long ff_crc04C11DB7_update(unsigned long checksum, const uint8_t *buf,
81 82
                                     unsigned int len);
82 83
 
... ...
@@ -412,6 +412,10 @@ void init_checksum(AVIOContext *s,
412 412
 {
413 413
     ffio_init_checksum(s, update_checksum, checksum);
414 414
 }
415
+unsigned long get_checksum(AVIOContext *s)
416
+{
417
+    return ffio_get_checksum(s);
418
+}
415 419
 #endif
416 420
 
417 421
 int avio_put_str(AVIOContext *s, const char *str)
... ...
@@ -554,7 +558,7 @@ unsigned long ff_crc04C11DB7_update(unsigned long checksum, const uint8_t *buf,
554 554
     return av_crc(av_crc_get_table(AV_CRC_32_IEEE), checksum, buf, len);
555 555
 }
556 556
 
557
-unsigned long get_checksum(AVIOContext *s)
557
+unsigned long ffio_get_checksum(AVIOContext *s)
558 558
 {
559 559
     s->checksum= s->update_checksum(s->checksum, s->checksum_ptr, s->buf_ptr - s->checksum_ptr);
560 560
     s->update_checksum= NULL;
... ...
@@ -108,7 +108,7 @@ static int get_packetheader(NUTContext *nut, AVIOContext *bc, int calculate_chec
108 108
     size= ffio_read_varlen(bc);
109 109
     if(size > 4096)
110 110
         avio_rb32(bc);
111
-    if(get_checksum(bc) && size > 4096)
111
+    if(ffio_get_checksum(bc) && size > 4096)
112 112
         return -1;
113 113
 
114 114
     ffio_init_checksum(bc, calculate_checksum ? ff_crc04C11DB7_update : NULL, 0);
... ...
@@ -285,7 +285,7 @@ static int decode_main_header(NUTContext *nut){
285 285
         assert(nut->header_len[0]==0);
286 286
     }
287 287
 
288
-    if(skip_reserved(bc, end) || get_checksum(bc)){
288
+    if(skip_reserved(bc, end) || ffio_get_checksum(bc)){
289 289
         av_log(s, AV_LOG_ERROR, "main header checksum mismatch\n");
290 290
         return AVERROR_INVALIDDATA;
291 291
     }
... ...
@@ -374,7 +374,7 @@ static int decode_stream_header(NUTContext *nut){
374 374
         ffio_read_varlen(bc); // samplerate_den
375 375
         GET_V(st->codec->channels, tmp > 0)
376 376
     }
377
-    if(skip_reserved(bc, end) || get_checksum(bc)){
377
+    if(skip_reserved(bc, end) || ffio_get_checksum(bc)){
378 378
         av_log(s, AV_LOG_ERROR, "stream header %d checksum mismatch\n", stream_id);
379 379
         return -1;
380 380
     }
... ...
@@ -469,7 +469,7 @@ static int decode_info_header(NUTContext *nut){
469 469
         }
470 470
     }
471 471
 
472
-    if(skip_reserved(bc, end) || get_checksum(bc)){
472
+    if(skip_reserved(bc, end) || ffio_get_checksum(bc)){
473 473
         av_log(s, AV_LOG_ERROR, "info header checksum mismatch\n");
474 474
         return -1;
475 475
     }
... ...
@@ -493,7 +493,7 @@ static int decode_syncpoint(NUTContext *nut, int64_t *ts, int64_t *back_ptr){
493 493
 
494 494
     ff_nut_reset_ts(nut, nut->time_base[tmp % nut->time_base_count], tmp / nut->time_base_count);
495 495
 
496
-    if(skip_reserved(bc, end) || get_checksum(bc)){
496
+    if(skip_reserved(bc, end) || ffio_get_checksum(bc)){
497 497
         av_log(s, AV_LOG_ERROR, "sync point checksum mismatch\n");
498 498
         return -1;
499 499
     }
... ...
@@ -590,7 +590,7 @@ static int find_and_decode_index(NUTContext *nut){
590 590
         }
591 591
     }
592 592
 
593
-    if(skip_reserved(bc, end) || get_checksum(bc)){
593
+    if(skip_reserved(bc, end) || ffio_get_checksum(bc)){
594 594
         av_log(s, AV_LOG_ERROR, "index checksum mismatch\n");
595 595
         goto fail;
596 596
     }
... ...
@@ -289,13 +289,13 @@ static void put_packet(NUTContext *nut, AVIOContext *bc, AVIOContext *dyn_bc, in
289 289
     avio_wb64(bc, startcode);
290 290
     ff_put_v(bc, forw_ptr);
291 291
     if(forw_ptr > 4096)
292
-        avio_wl32(bc, get_checksum(bc));
292
+        avio_wl32(bc, ffio_get_checksum(bc));
293 293
 
294 294
     if(calculate_checksum)
295 295
         ffio_init_checksum(bc, ff_crc04C11DB7_update, 0);
296 296
     avio_write(bc, dyn_buf, dyn_size);
297 297
     if(calculate_checksum)
298
-        avio_wl32(bc, get_checksum(bc));
298
+        avio_wl32(bc, ffio_get_checksum(bc));
299 299
 
300 300
     av_free(dyn_buf);
301 301
 }
... ...
@@ -818,8 +818,8 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt){
818 818
     if(flags & FLAG_SIZE_MSB)   ff_put_v(bc, pkt->size / fc->size_mul);
819 819
     if(flags & FLAG_HEADER_IDX) ff_put_v(bc, header_idx= best_header_idx);
820 820
 
821
-    if(flags & FLAG_CHECKSUM)   avio_wl32(bc, get_checksum(bc));
822
-    else                        get_checksum(bc);
821
+    if(flags & FLAG_CHECKSUM)   avio_wl32(bc, ffio_get_checksum(bc));
822
+    else                        ffio_get_checksum(bc);
823 823
 
824 824
     avio_write(bc, pkt->data + nut->header_len[header_idx], pkt->size - nut->header_len[header_idx]);
825 825
     nus->last_flags= flags;
... ...
@@ -68,7 +68,7 @@ typedef struct {
68 68
 static void ogg_update_checksum(AVFormatContext *s, AVIOContext *pb, int64_t crc_offset)
69 69
 {
70 70
     int64_t pos = avio_tell(pb);
71
-    uint32_t checksum = get_checksum(pb);
71
+    uint32_t checksum = ffio_get_checksum(pb);
72 72
     avio_seek(pb, crc_offset, SEEK_SET);
73 73
     avio_wb32(pb, checksum);
74 74
     avio_seek(pb, pos, SEEK_SET);