func (c *Client) CancelMedia(mediaID string) (*Response, error) {
	return c.doMediaAction(mediaID, "CancelMedia")
}
CancelMedia deletes an existing media on user's queue based on the mediaID.
package encodingcom
import "time"
const dateTimeLayout = "2006-01-02 15:04:05"
type MediaDateTime struct {
	time.Time
}
func (mdt *MediaDateTime) UnmarshalJSON(b []byte) (err error) {
	if b[0] == '"' && b[len(b)-1] == '"' {
		b = b[1 : len(b)-1]
	}
	if string(b) == "0000-00-00 00:00:00" {
		mdt.Time = time.Time{}
		return nil
	}
	mdt.Time, err = time.Parse(dateTimeLayout, string(b))
	return err
}
type AddMediaResponse struct {
	Message string `json:"message,omitempty"`
	MediaID string `json:"mediaid,omitempty"`
}
type ListMediaResponse struct {
	Media []ListMediaResponseItem `json:"media,omitempty"`
}
type ListMediaResponseItem struct {
	MediaFile   string        `json:"mediafile,omitempty"`
	MediaID     string        `json:"mediaid,omitempty"`
	MediaStatus string        `json:"mediastatus,omitempty"`
	CreateDate  MediaDateTime `json:"createdate,string,omitempty"`
	StartDate   MediaDateTime `json:"startdate,string,omitempty"`
	FinishDate  MediaDateTime `json:"finishdate,string,omitempty"`
}
func (c *Client) AddMedia(source []string, format []Format, region string) (*AddMediaResponse, error) {
	var result map[string]*AddMediaResponse
	req := request{
		Action: "AddMedia",
		Format: format,
		Source: source,
		Region: region,
	}
	err := c.do(&req, &result)
	if err != nil {
		return nil, err
	}
	return result["response"], nil
}
func (c *Client) StopMedia(mediaID string) (*Response, error) {
	return c.doMediaAction(mediaID, "StopMedia")
}