I\'m encoding Camera preview data using MediaCodec with mime-type \"video/avc\" and passing the encoded data (video-only, no audio) to MediaM
E/MPEG4Writer(2166): Missing codec specific data
Sounds like you didn't call MediaMuxer#addTrack() with a MediaFormat that included the CSD. See the EncodeAndMuxTest.java code for an example of how to do this.
Looking at the MPEG4Writer implementation used by MediaMuxer, there's an isTrackMalformed() check on line 2360; it sets ERROR_MALFORMED if the CSD data isn't present, but doesn't return immediately. Nothing clears the error, so it'll do a bunch of work and then fail, which seems to match what you're seeing.