A method for generating an object based audio program, said method including steps of: generating conditional rendering metadata corresponding to at least one object channel, such that the conditional rendering metadata is indicative of at least one rendering constraint, based on playback speaker array configuration, which applies to said at least one object channel, wherein the conditional rendering metadata is also indicative of at least one rendering rule, based on playback speaker array configuration, for rendering audio channels of the program, said at least one rendering rule including at least the following: each object channel of a first type should be downmixed into any speaker channel specified by any user-selected or default mix of content of the program if the playback speaker array includes at least one above-floor speaker, and each object channel of the first type should not be included in any downmix if the playback speaker array does not include at least one above-floor speaker; determining a set of audio channels including said at least one object channel; and generating the object based audio program such that said object based audio program is indicative of the set of audio channels and the conditional rendering metadata, and such that content of at least one audio channel of the program is renderable, in a manner compliant with the at least one rendering constraint, by a playback system in response to at least some of the conditional rendering metadata. generating conditional rendering metadata corresponding to at least one object channel, such that the conditional rendering metadata is indicative of at least one rendering constraint, based on playback speaker array configuration, which applies to said at least one object channel, wherein the conditional rendering metadata is also indicative of at least one rendering rule, based on playback speaker array configuration, for rendering audio channels of the program, said at least one rendering rule including at least the following: each object channel of a first type should be downmixed into any speaker channel specified by any user-selected or default mix of content of the program if the playback speaker array includes at least one above-floor speaker, and each object channel of the first type should not be included in any downmix if the playback speaker array does not include at least one above-floor speaker; each object channel of a first type should be downmixed into any speaker channel specified by any user-selected or default mix of content of the program if the playback speaker array includes at least one above-floor speaker, and each object channel of the first type should not be included in any downmix if the playback speaker array does not include at least one above-floor speaker; determining a set of audio channels including said at least one object channel; and generating the object based audio program such that said object based audio program is indicative of the set of audio channels and the conditional rendering metadata, and such that content of at least one audio channel of the program is renderable, in a manner compliant with the at least one rendering constraint, by a playback system in response to at least some of the conditional rendering metadata.