Aguarde até que um vídeo em HTML5 seja carregado

Eu tenho uma tag de vídeo, que eu mudo dinamicamente sua origem, pois estou permitindo que o usuário escolha entre vários vídeos do banco de dados. O problema é que quando eu mudo o atributo src, o vídeo não carrega, mesmo se eu disser.

Aqui está o meu código:

$("#video").attr('src', 'my_video_'+value+'.ogg');
$("#video").load();
while($("#video").readyState !== 4) {
        console.log("Video is not ready");
};

O código ainda permanece em um loop infinito.

Qualquer ajuda?

EDITAR:

Para Ian Devlin:

//add an listener on loaded metadata
v.addEventListener('loadeddata', function() {
    console.log("Loaded the video's data!");
    console.log("Video Source: "+ $('#video').attr('src'));
    console.log("Video Duration: "+ $('#video').duration);
}, false);

Ok, este é o código que tenho agora. A fonte imprime ótima, mas ainda não consigo a duração: /

questionAnswers(4)

yourAnswerToTheQuestion