Unified · Split
| @@ -455,6 +455,7 @@ attribute_deprecated int udp_get_local_port(URLContext *h); · 454 unmodified lines | ||
| 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); · 214 unmodified lines | ||
| 675 | 676 | */ |
| 676 | 677 | int url_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer); |
| 677 | 678 | |
| 678 | −unsigned long get_checksum(AVIOContext *s); | |
| 679 | − | |
| 680 | 679 | #if FF_API_UDP_GET_FILE |
| 681 | 680 | int udp_get_file_handle(URLContext *h); |
| 682 | 681 | #endif |
| @@ -77,6 +77,7 @@ int ff_udp_get_local_port(URLContext *h); · 76 unmodified lines | ||
| 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, · 411 unmodified lines | ||
| 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, · 136 unmodified lines | ||
| 554 | 558 | return av_crc(av_crc_get_table(AV_CRC_32_IEEE), checksum, buf, len); |
| 555 | 559 | } |
| 556 | 560 | |
| 557 | −unsigned long get_checksum(AVIOContext *s) | |
| 561 | +unsigned long ffio_get_checksum(AVIOContext *s) | |
| 558 | 562 | { |
| 559 | 563 | s->checksum= s->update_checksum(s->checksum, s->checksum_ptr, s->buf_ptr - s->checksum_ptr); |
| 560 | 564 | s->update_checksum= NULL; |
| @@ -108,7 +108,7 @@ static int get_packetheader(NUTContext *nut, AVIOContext *bc, int calculate_chec · 107 unmodified lines | ||
| 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){ · 170 unmodified lines | ||
| 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){ · 82 unmodified lines | ||
| 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){ · 88 unmodified lines | ||
| 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){ · 17 unmodified lines | ||
| 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){ · 90 unmodified lines | ||
| 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 · 288 unmodified lines | ||
| 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){ · 516 unmodified lines | ||
| 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 { · 67 unmodified lines | ||
| 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); |