On 15 Feb 2014, at 19:53, Vittorio Giovara <[email protected]> wrote:
> On Sat, Feb 15, 2014 at 7:31 PM, Tim Walker <[email protected]> wrote: >> On 15 Feb 2014, at 19:02, Vittorio Giovara <[email protected]> >> wrote: >>> On Sat, Feb 15, 2014 at 3:24 PM, Tim Walker <[email protected]> wrote: >>>> On 12 Feb 2014, at 00:13, Vittorio Giovara <[email protected]> >>>> wrote: >>>> >>>> Is there a chance that the packet has been used before and already >>>> contains side data? Or is it necessarily a new packet with no side data to >>>> begin with? >>> >>> Well you have an array of side data in avpacket and >>> av_packet_new_side_data takes care of (re)allocation. >>> Side data is also correctly passed during copy_props so all should be fine. >>> Vittorio >> >> But: >> - av_packet_new_side_data always adds side data >> - av_packet_new_side_data always adds it to the end of the array >> - av_packet_get_side_data always returns the first side data of a given type >> >> So if you add side data of type T to an AVPacket which already has side data >> of type T, you'll get the >> correct pointer back in libavcodec, but libavcodec users will never be able >> to get that side data, since >> there will be another side data of the same type earlier in the side data >> array. >> >> This is only an issue if the AVPacket may already contain side data of the >> same type, hence my question. > > Ah well good point, bug I guess this is a bug true for *any* side data no? Yes. This is e.g. why I added ff_side_data_update_matrix_encoding() in 5b4797a21db900b7d509660b7a4d49829089b004 Tim _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
