Cannot cast from source type to destination type for Movie Texture

I am getting this message for all my objects that run a specific script. Here is the script:

using UnityEngine;
using System.Collections;

public class test : MonoBehaviour {

	// Use this for initialization
	void Start() {
        ((MovieTexture)GetComponent<Renderer>().material.mainTexture).Play();       
    }
	
	// Update is called once per frame
	void Update () {
        Renderer r = GetComponent<Renderer>();
        MovieTexture movie = (MovieTexture)r.material.mainTexture;
        if (!movie.isPlaying)
        {
            movie.Play();
        }
    }
}

You need to add an extra pair of parenthesis so that it casts mainTexture and not Renderer:

((MovieTexture)(GetComponent<Renderer>().material.mainTexture)).Play();