When the next-track info was accurate between JRiver and the Yamaha, everything was working without issue. Somehow, though, the two got off from one other.
I wonder whether AndrewFG's suggestion, earlier in this thread, to do a SetNext of (nul) at some point (perhaps when Stop is issued) would be appropriate after all.
It's something about
transcoding to PCM (at least PCM L16)...
The Yamaha renderer accepts MP3 natively. If I modify the DLNA server to convert to PCM L16 only when needed, I can play gaplessly with correctly-indicated track transitions,
and push new playlists to the renderer, without ever hearing any static or stuttering. Sending a sequence of MP3s to the receiver in this fashion, SetNext works great!
Pick an m4a file (from recent iTunes purchases) or an ogg vorbis file (or, presumably, anything that requires conversion to PCM), however, and both the next-track indication gets "off" from actual playback and the static/popping makes an appearance.
("Always convert" or "convert when necessary" was one of the differences between how I had MC19 and MC20 setup. MC19 was setup to only convert when necessary.)
I want to do more experimenting tomorrow, and see if the problem still occurs with PCM 16 with headers. I'll post what I find out. (Perhaps the header information within the MP3 files is being used by the Yamaha renderer?)
Does this make sense at all? More work is required at the DLNA server for transcoding to PCM, of course, but I've never heard any gap or problem during playback, outside of the track transition.