| 76 | } |
| 77 | |
| 78 | static int codec_parameters_copy_side_data(AVPacketSideData **pdst, int *pnb_dst, |
| 79 | const AVPacketSideData *src, int nb_src) |
| 80 | { |
| 81 | AVPacketSideData *dst; |
| 82 | int nb_dst = *pnb_dst; |
| 83 | |
| 84 | if (!src) |
| 85 | return 0; |
| 86 | |
| 87 | *pdst = dst = av_calloc(nb_src, sizeof(*dst)); |
| 88 | if (!dst) |
| 89 | return AVERROR(ENOMEM); |
| 90 | |
| 91 | for (int i = 0; i < nb_src; i++) { |
| 92 | const AVPacketSideData *src_sd = &src[i]; |
| 93 | AVPacketSideData *dst_sd = &dst[i]; |
| 94 | |
| 95 | dst_sd->data = av_memdup(src_sd->data, src_sd->size); |
| 96 | if (!dst_sd->data) |
| 97 | return AVERROR(ENOMEM); |
| 98 | |
| 99 | dst_sd->type = src_sd->type; |
| 100 | dst_sd->size = src_sd->size; |
| 101 | *pnb_dst = ++nb_dst; |
| 102 | } |
| 103 | |
| 104 | return 0; |
| 105 | } |
| 106 | |
| 107 | int avcodec_parameters_copy(AVCodecParameters *dst, const AVCodecParameters *src) |
| 108 | { |
no test coverage detected