172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project/*
272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * Copyright (C) 2007-2008 Esmertec AG.
372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * Copyright (C) 2007-2008 The Android Open Source Project
472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project *
572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * you may not use this file except in compliance with the License.
772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * You may obtain a copy of the License at
872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project *
972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
1072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project *
1172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software
1272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
1372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * See the License for the specific language governing permissions and
1572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project * limitations under the License.
1672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project */
1772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
1872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Projectpackage com.android.mms.dom.smil;
1972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
2072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Projectimport org.w3c.dom.DOMException;
2172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Projectimport org.w3c.dom.events.DocumentEvent;
2272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Projectimport org.w3c.dom.events.Event;
2372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Projectimport org.w3c.dom.smil.ElementTime;
2472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Projectimport org.w3c.dom.smil.SMILMediaElement;
2572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Projectimport org.w3c.dom.smil.TimeList;
2672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
2772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Projectimport android.util.Log;
2872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
29d64419030e1fec1e751695dab3bd7236e2fb0214Roger Chenimport com.android.mms.dom.events.EventImpl;
30d64419030e1fec1e751695dab3bd7236e2fb0214Roger Chen
3172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Projectpublic class SmilMediaElementImpl extends SmilElementImpl implements
3272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        SMILMediaElement {
3372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public final static String SMIL_MEDIA_START_EVENT = "SmilMediaStart";
3472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public final static String SMIL_MEDIA_END_EVENT = "SmilMediaEnd";
3572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public final static String SMIL_MEDIA_PAUSE_EVENT = "SmilMediaPause";
3672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public final static String SMIL_MEDIA_SEEK_EVENT = "SmilMediaSeek";
3786b3e552c250704de7abeab5553bab664fa01f64Wei Huang    private final static String TAG = "Mms:smil";
3872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    private static final boolean DEBUG = false;
39150c4179995cc0a75f934ef194372f9295957ca2Joe Onorato    private static final boolean LOCAL_LOGV = false;
4072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
4172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    ElementTime mElementTime = new ElementTimeImpl(this) {
4272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            private Event createEvent(String eventType) {
4372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                DocumentEvent doc =
4472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                    (DocumentEvent)SmilMediaElementImpl.this.getOwnerDocument();
4572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                Event event = doc.createEvent("Event");
4672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                event.initEvent(eventType, false, false);
4772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                if (LOCAL_LOGV) {
4872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                    Log.v(TAG, "Dispatching 'begin' event to "
4972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                            + SmilMediaElementImpl.this.getTagName() + " "
5072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                            + SmilMediaElementImpl.this.getSrc() + " at "
5172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                            + System.currentTimeMillis());
5272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                }
5372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                return event;
5472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            }
5572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
5672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            private Event createEvent(String eventType, int seekTo) {
5772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                DocumentEvent doc =
5872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                    (DocumentEvent)SmilMediaElementImpl.this.getOwnerDocument();
591931fe06a209e2ed3497db0248eec31dbe95d352Jesse Wilson                EventImpl event = (EventImpl) doc.createEvent("Event");
6072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                event.initEvent(eventType, false, false, seekTo);
6172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                if (LOCAL_LOGV) {
6272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                    Log.v(TAG, "Dispatching 'begin' event to "
6372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                            + SmilMediaElementImpl.this.getTagName() + " "
6472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                            + SmilMediaElementImpl.this.getSrc() + " at "
6572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                            + System.currentTimeMillis());
6672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                }
6772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                return event;
6872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            }
6972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
7072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            public boolean beginElement() {
7172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                Event startEvent = createEvent(SMIL_MEDIA_START_EVENT);
7272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                dispatchEvent(startEvent);
7372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                return true;
7472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            }
7572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
7672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            public boolean endElement() {
7772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                Event endEvent = createEvent(SMIL_MEDIA_END_EVENT);
7872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                dispatchEvent(endEvent);
7972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                return true;
8072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            }
8172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
8272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            public void resumeElement() {
8372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                Event resumeEvent = createEvent(SMIL_MEDIA_START_EVENT);
8472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                dispatchEvent(resumeEvent);
8572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            }
8672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
8772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            public void pauseElement() {
8872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                Event pauseEvent = createEvent(SMIL_MEDIA_PAUSE_EVENT);
8972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                dispatchEvent(pauseEvent);
9072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            }
9172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
9272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            public void seekElement(float seekTo) {
9372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                Event seekEvent = createEvent(SMIL_MEDIA_SEEK_EVENT, (int) seekTo);
9472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                dispatchEvent(seekEvent);
9572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            }
9672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
9772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            @Override
9872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            public float getDur() {
9972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                float dur = super.getDur();
10072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                if (dur == 0) {
10172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                    // Duration is not specified, So get the implicit duration.
10272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                    String tag = getTagName();
10372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                    if (tag.equals("video") || tag.equals("audio")) {
10472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                        // Continuous media
10572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                        // FIXME Should get the duration of the media. "indefinite" instead here.
10672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                        dur = -1.0F;
10772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                    } else if (tag.equals("text") || tag.equals("img")) {
10872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                        // Discrete media
10972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                        dur = 0;
11072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                    } else {
11172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                        Log.w(TAG, "Unknown media type");
11272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                    }
11372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                }
11472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                return dur;
11572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            }
11672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
11772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            @Override
11872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            ElementTime getParentElementTime() {
11972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project                return ((SmilParElementImpl) mSmilElement.getParentNode()).mParTimeContainer;
12072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project            }
12172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    };
12272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
12372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    /*
12472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project     * Internal Interface
12572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project     */
12672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
12772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    SmilMediaElementImpl(SmilDocumentImpl owner, String tagName) {
12872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        super(owner, tagName);
12972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
13072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
13172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    /*
13272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project     * SMILMediaElement Interface
13372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project     */
13472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
13572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getAbstractAttr() {
13672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("abstract");
13772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
13872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
13972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getAlt() {
14072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("alt");
14172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
14272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
14372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getAuthor() {
14472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("author");
14572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
14672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
14772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getClipBegin() {
14872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("clipBegin");
14972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
15072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
15172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getClipEnd() {
15272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("clipEnd");
15372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
15472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
15572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getCopyright() {
15672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("copyright");
15772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
15872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
15972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getLongdesc() {
16072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("longdesc");
16172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
16272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
16372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getPort() {
16472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("port");
16572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
16672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
16772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getReadIndex() {
16872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("readIndex");
16972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
17072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
17172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getRtpformat() {
17272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("rtpformat");
17372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
17472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
17572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getSrc() {
17672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("src");
17772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
17872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
17972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getStripRepeat() {
18072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("stripRepeat");
18172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
18272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
18372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getTitle() {
18472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("title");
18572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
18672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
18772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getTransport() {
18872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("transport");
18972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
19072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
19172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public String getType() {
19272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return this.getAttribute("type");
19372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
19472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
19572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setAbstractAttr(String abstractAttr) throws DOMException {
19672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("abstract", abstractAttr);
19772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
19872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
19972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setAlt(String alt) throws DOMException {
20072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("alt", alt);
20172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
20272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
20372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setAuthor(String author) throws DOMException {
20472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("author", author);
20572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
20672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
20772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setClipBegin(String clipBegin) throws DOMException {
20872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("clipBegin", clipBegin);
20972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
21072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
21172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setClipEnd(String clipEnd) throws DOMException {
21272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("clipEnd", clipEnd);
21372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
21472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
21572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setCopyright(String copyright) throws DOMException {
21672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("copyright", copyright);
21772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
21872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
21972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setLongdesc(String longdesc) throws DOMException {
22072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("longdesc", longdesc);
22172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
22272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
22372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
22472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setPort(String port) throws DOMException {
22572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("port", port);
22672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
22772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
22872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setReadIndex(String readIndex) throws DOMException {
22972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("readIndex", readIndex);
23072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
23172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
23272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setRtpformat(String rtpformat) throws DOMException {
23372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("rtpformat", rtpformat);
23472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
23572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
23672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setSrc(String src) throws DOMException {
23772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("src", src);
23872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
23972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
24072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setStripRepeat(String stripRepeat) throws DOMException {
24172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("stripRepeat", stripRepeat);
24272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
24372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
24472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setTitle(String title) throws DOMException {
24572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("title", title);
24672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
24772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
24872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setTransport(String transport) throws DOMException {
24972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("transport", transport);
25072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
25172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
25272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setType(String type) throws DOMException {
25372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        this.setAttribute("type", type);
25472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
25572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
25672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    /*
25772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project     * TimeElement Interface
25872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project     */
25972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
26072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public boolean beginElement() {
26172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return mElementTime.beginElement();
26272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
26372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
26472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public boolean endElement() {
26572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return mElementTime.endElement();
26672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
26772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
26872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public TimeList getBegin() {
26972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return mElementTime.getBegin();
27072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
27172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
27272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public float getDur() {
27372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return mElementTime.getDur();
27472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
27572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
27672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public TimeList getEnd() {
27772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return mElementTime.getEnd();
27872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
27972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
28072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public short getFill() {
28172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return mElementTime.getFill();
28272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
28372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
28472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public short getFillDefault() {
28572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return mElementTime.getFillDefault();
28672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
28772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
28872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public float getRepeatCount() {
28972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return mElementTime.getRepeatCount();
29072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
29172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
29272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public float getRepeatDur() {
29372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return mElementTime.getRepeatDur();
29472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
29572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
29672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public short getRestart() {
29772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        return mElementTime.getRestart();
29872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
29972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
30072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void pauseElement() {
30172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        mElementTime.pauseElement();
30272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
30372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
30472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void resumeElement() {
30572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        mElementTime.resumeElement();
30672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
30772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
30872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void seekElement(float seekTo) {
30972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        mElementTime.seekElement(seekTo);
31072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
31172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
31272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setBegin(TimeList begin) throws DOMException {
31372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        mElementTime.setBegin(begin);
31472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
31572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
31672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setDur(float dur) throws DOMException {
31772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        mElementTime.setDur(dur);
31872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
31972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
32072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setEnd(TimeList end) throws DOMException {
32172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        mElementTime.setEnd(end);
32272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
32372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
32472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setFill(short fill) throws DOMException {
32572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        mElementTime.setFill(fill);
32672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
32772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
32872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setFillDefault(short fillDefault) throws DOMException {
32972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        mElementTime.setFillDefault(fillDefault);
33072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
33172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
33272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setRepeatCount(float repeatCount) throws DOMException {
33372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        mElementTime.setRepeatCount(repeatCount);
33472735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
33572735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
33672735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setRepeatDur(float repeatDur) throws DOMException {
33772735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        mElementTime.setRepeatDur(repeatDur);
33872735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
33972735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project
34072735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    public void setRestart(short restart) throws DOMException {
34172735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project        mElementTime.setRestart(restart);
34272735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project    }
34372735c62aba8fd2a9420a0f9f83d22543e3c164fThe Android Open Source Project}
344