Just wasted about an hour tracking down what seemed to be a very strange bug - but I think it may be a "feature". I've created a PlaylistElement which extends ProxyElement. It plays one MediaElement after another (similar to SerialElement but it does not treat the entire playlist as one item).
When I switch to the next MediaElement, ProxyMetadata overwrites all the metadata values in the next element with the values from the previous element. Therefore, any custom data I have (e.g. ID, URL, etc) is wiped and set to the first item's values. Is this really the expected behavior?
The code in question, from ProxyMetadata:
// Transfer all old values to new.
for each (var url:String in proxiedMetadata.keys)
No chance of extending and fixing since ProxyMetadata.proxiedMetadata is private - why? I guess I'll copy the whole class and make it my own.
Seems to be a "feature" as soon as exactly the same bug report was closed wit a NAB message :O)
By the way, I was working on the same element to implement a "playlist" feature.
I was trying CompositeElement (dropped due to trait manager dependency at the lowest level) than tried ProxyElement and got that Metadata issue and several more. So I've done it from scratch with some "copypaste" from composition and proxy classes.