What are you guys thinking? I'm seeing the cleanest solution as being: * Remove av_metadata_updated() and move any metadata copying/change detection into read/seek * The application will then have to check metadata dicts for updates
>From the proposed changes, I'm seeing the following problems: 1) Dropping versioning from AVDict and changing to a flag would result in problems when multiple things want to watch metadata. 2) Dropping versioning from AVDict and setting a flag in AVFormatContext, AVStream, etc would require modifications to each demuxer to know about the flags and when to set them. It's been mentioned that modifying AVDict with a version just seems too single-use for living in a generic structure, but off the top of my head, the following use versions/some form of change tracking for hash tables: glib, Java, Python, C#, objective-c. This is, I think, a fairly-normal pattern that is actually kinda nice to have around. 3) Keep a record of what changes and present that to the app: I'm not sure how useful a diff would be as this data is usually display-only, and updating displayed data with identical data typically won't make a difference. Thanks, -Andrew _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
