Please see both the manifests of music and video apps on what mimetypes are supported for open activity:
https://github.com/mozilla-b2g/gaia/blob/master/apps/music/manifest.webapp#L29
https://github.com/mozilla-b2g/gaia/blob/master/apps/video/manifest.webapp#L62

If you use MimeMapper.guessTypeFromExtension() then got "video/ogg", you should fill the data.type with it in MozActivity, which you still left "audio/ogg". And if the data.type is "video/ogg" then it should trigger the video open activity, not music open activity. And if the file is opened by video open activity, then bug 852864 won't be a problem.

However, it's still possible that .ogg files has the mimetype "audio/ogg", and those should be some blobs that are not retrieved from deviceStorage(because deviceStorage will return "video/ogg" for .ogg files), like mms/email attachments or files transferred via bluetooth, the type property will be filled by the sent client or devices, it should be trusty and if it's supported, we will just use it for MozActivity without changing it. If not, we should use the MimeMapper and that's why we have this.

And I guess the audio tag is unable to play a video file, which you had forced it to, so that's why you got an error. If I recalled correctly, the video tag should has the capability to play an audio file, and because we cannot distinguish an .ogg file is audio or video(if we don't parse it before triggering the MozActivity), then a safer way to open an .ogg file is using the video open activity to open it. This is probably not the best solution, but currently apps like sms or email does not provide the capability to distinguish/parse audio and video, so I think it's acceptable for now if we don't have a shared module now to do things like this.

So once the music open activity is launched successfully, I think if it's opening an .ogg file, it should be an audio file with type "audio/ogg" right? if not(which I think currently won't happen), the file cannot be saved due to bug 852864, and we should ask gecko to fix it.