Why does AudioSource.time return Infinity in Unity 5.3?

I have a MovieTexture file in my project, and I want to keep track with the time based on the audio time. It works fine in Unity 5.1, but when I switch to 5.3, the AudioSource.time just returns Infinity. Does anyone know what has been changed. Here is a snippet of my code. Thank you!

public void processVideoFile(){
		GameObject.Find("Video Frame").GetComponent<RawImage> ().texture = movie as MovieTexture;
		audio =  gameObject.GetComponent<AudioSource> ();
		audio.clip = movie.audioClip;
		movie.loop = false;
		videoIsProcessed = true;
	}

void LateUpdate () {
		if (videoIsProcessed) {
			if (!movie.isPlaying && !pausing) {
				gameObject.GetComponent<LessonManagerScript>().loadVideo(gameObject.GetComponent<LessonManagerScript>().currentButton);
				playButton.gameObject.GetComponent<Image> ().enabled = true;
			}
			if(!pausing){
			timeStamp = audio.time + timeOffSet;
			}
			Debug.Log("Audio time is: "+audio.time+" and timeStamp is: "+timeStamp);
		}
	}

I found a workaround it! I used a Stopwatch from System.Dianogtics to replace the audio.time.

However, this is a bug from Unity 5.3 (I’m pretty sure).

At the moment AudioClip.frequency seems to return 0 for MovieTextures.

This probably causes AudioSource.time to return “infinity”.

I assume that AudioClip.frequency should return 48000 for MovieTextures,
so you can create your own, corrected, version for now:

public AudioSource audioSource;
const int CLIP_FREQUENCY = 48000;

void Update () {
    float time = audioSource.timeSamples * 1f / CLIP_FREQUENCY; 
}