vlcjni_object *
VLCJniObject_newFromJavaLibVlc(JNIEnv *env, jobject thiz,
                               jobject libVlc, const char **pp_error)
{
    libvlc_instance_t *p_libvlc = getLibVlcInstance(env, libVlc);
    if (!p_libvlc)
    {
        if (libVlc)
            *pp_error = "Can't get mLibVlcInstance from libVlc";
        else
            *pp_error = "libVlc is NULL";
        return NULL;
    }
    return VLCJniObject_newFromLibVlc(env, thiz, p_libvlc, pp_error);
}
void
Java_org_videolan_libvlc_MediaPlayer_nativeNewFromMedia(JNIEnv *env,
                                                        jobject thiz,
                                                        jobject jmedia,
                                                        jobject jwindow)
{
    vlcjni_object *p_obj;
    vlcjni_object *p_m_obj = VLCJniObject_getInstance(env, jmedia);

    if (!p_m_obj)
        return;

    p_obj = VLCJniObject_newFromLibVlc(env, thiz, p_m_obj->p_libvlc);
    if (!p_obj)
        return;
    p_obj->u.p_mp = libvlc_media_player_new_from_media(p_m_obj->u.p_m);
    MediaPlayer_newCommon(env, thiz, p_obj, jwindow);
}