| 512 | } |
| 513 | |
| 514 | int av_packet_make_writable(AVPacket *pkt) |
| 515 | { |
| 516 | AVBufferRef *buf = NULL; |
| 517 | int ret; |
| 518 | |
| 519 | if (pkt->buf && av_buffer_is_writable(pkt->buf)) |
| 520 | return 0; |
| 521 | |
| 522 | ret = packet_alloc(&buf, pkt->size); |
| 523 | if (ret < 0) |
| 524 | return ret; |
| 525 | av_assert1(!pkt->size || pkt->data); |
| 526 | if (pkt->size) |
| 527 | memcpy(buf->data, pkt->data, pkt->size); |
| 528 | |
| 529 | av_buffer_unref(&pkt->buf); |
| 530 | pkt->buf = buf; |
| 531 | pkt->data = buf->data; |
| 532 | |
| 533 | return 0; |
| 534 | } |
| 535 | |
| 536 | void av_packet_rescale_ts(AVPacket *pkt, AVRational src_tb, AVRational dst_tb) |
| 537 | { |
no test coverage detected