| 458 | } |
| 459 | |
| 460 | void hb_buffer_realloc( hb_buffer_t * b, int size ) |
| 461 | { |
| 462 | if ( size > b->alloc || b->data == NULL ) |
| 463 | { |
| 464 | uint8_t * tmp; |
| 465 | uint32_t orig = b->data != NULL ? b->alloc : 0; |
| 466 | hb_fifo_t * buffer_pool = size_to_pool(size); |
| 467 | |
| 468 | if (buffer_pool != NULL) |
| 469 | { |
| 470 | size = buffer_pool->buffer_size; |
| 471 | } |
| 472 | tmp = av_malloc(size); |
| 473 | if (tmp == NULL) |
| 474 | { |
| 475 | return; |
| 476 | } |
| 477 | if (b->data != NULL) |
| 478 | { |
| 479 | memcpy(tmp, b->data, b->alloc); |
| 480 | av_free(b->data); |
| 481 | } |
| 482 | b->data = tmp; |
| 483 | b->alloc = size; |
| 484 | |
| 485 | hb_lock(buffers.lock); |
| 486 | buffers.allocated += size - orig; |
| 487 | hb_unlock(buffers.lock); |
| 488 | } |
| 489 | } |
| 490 | |
| 491 | void hb_buffer_reduce( hb_buffer_t * b, int size ) |
| 492 | { |
no test coverage detected