Adobe Media Server and the like require that metadata is sent using
@setDataFrame. As such, in the relay module, when propagating metadata to
another server, we will use the @setDataFrame command.
When using the 'pull' and 'push' directives, it may be necessary to pass along
the arguments that were sent when connecting to the app. For these cases,
we've added a 'passArgs' parameter (0 / 1) that, when true, sets 'playPath' to
${name}?${args} (unless 'playPath' was explicitly set).
to avoid writing invalid metadata, don't overwrite metadata from previous @setDataFrame / onMetaData invocations unless the metadata has actually changed