Captionator

Novak, Alexey anovak at ocadu.ca
Thu Feb 16 17:08:02 UTC 2012


Ooops. I was looking into my previous email and found an issue with closing "}" since model ended up under videoPlayer.video specification. Furthermore I realized that we could possibly have 2 different uispec based on the placement of the captions tag in the videoPlayer….

Fixed my initial email:
var vp = fluid.videoPlayer(".videoPlayer", {
video: {
sources: [
{
                              src: "ReorganizeFuture.mp4",
                              type: "video/mp4"
                      },
                      {
                              src: "ReorganizeFuture.webm",
                              type: "video/webm"
                      },
                      {
                              src: "http://www.youtube.com/v/_VxQEPw1x9E&hl=en&fs=1",
                              type: "youtube"
                     }
],
captions: [
{
                              src: "ReorganizeFuture.en.vtt",
                              type: "text/vtt",
                              srclang: "en",
                              label: "English Subtitles",
                              kind: "subtitles"
                      },
                      {
                              src: "ReorganizeFuture.fr.vtt",
                              type: "text/vtt",
                              srclang: "fr",
                              label: "French Subtitles",
                              kind: "subtitles"
                      }
]
},
model : {
currentTrack: 0
}
});

OR:

var vp = fluid.videoPlayer(".videoPlayer", {
video: {
sources: [
{
                              src: "ReorganizeFuture.mp4",
                              type: "video/mp4"
                      },
                      {
                              src: "ReorganizeFuture.webm",
                              type: "video/webm"
                      },
                      {
                              src: "http://www.youtube.com/v/_VxQEPw1x9E&hl=en&fs=1",
                              type: "youtube"
                     }
]
},
captions: [
{
                             src: "ReorganizeFuture.en.vtt",
                              type: "text/vtt",
                              srclang: "en",
                              label: "English Subtitles",
                              kind: "subtitles"
                },
                {
                              src: "ReorganizeFuture.fr.vtt",
                              type: "text/vtt",
                              srclang: "fr",
                              label: "French Subtitles",
                              kind: "subtitles"
                }
],
model : {
currentTrack: 0
}
});

basically the difference is location of captions part since it could be inside of the video or on the same level. Currently in the code we have captions on the same level as video tag #2 example.

Alex

On 2012-02-16, at 10:53 AM, Colin Clark wrote:

This looks pretty sensible to me.

Colin

On 2012-02-16, at 10:52 AM, Novak, Alexey wrote:

I'm a little bit confused here...
It is pretty interesting how the topic of making captions an array instead of hash got diverged into complete uispec change for the videoPlayer :)  But from what you are saying it sound reasonable that neither sources not captions should be modified during the lifetime of the component.

Here is my understanding of how videoPlayer uispec should look like. Correct me If I'm wrong since I might not get ALL the ideas of what exactly should be changed.


var vp = fluid.videoPlayer(".videoPlayer", {
video: {
sources: [
{
                              src: "ReorganizeFuture.mp4",
                              type: "video/mp4"
                      },
                      {
                              src: "ReorganizeFuture.webm",
                              type: "video/webm"
                      },
                      {
                              src: "http://www.youtube.com/v/_VxQEPw1x9E&hl=en&fs=1",
                              type: "youtube"
                     }
],
captions: [
{
                              src: "ReorganizeFuture.en.vtt",
                              type: "text/vtt",
                              srclang: "en",
                              label: "English Subtitles",
                              kind: "subtitles"
                      },
                      {
                              src: "ReorganizeFuture.fr.vtt",
                              type: "text/vtt",
                              srclang: "fr",
                              label: "French Subtitles",
                              kind: "subtitles"
                      }
],
model : {
currentTrack: 0
}
      }
});


So this is my understanding of the proposed changes to the uispec where any other component would be able listening only to the changes of the currentTrack only.


Alex



On 2012-02-16, at 2:42 AM, Antranig Basman wrote:

Unfortunately we didn't get round to our architecture chat re. the captionator in the last couple of days... shamefully for open source morals, michelled and I had a private chat yesterday in which we considered that returning the  captions.sources option to being an array to match video.sources was a sound idea, especially bearing in mind that the authoritative representation of the caption language is now present as the "srcland" property inside the structure.
That change being done I'm happy we can push, but thought we should have a final check for any objections since it is a significant API change to the component. This would let us simplify the implementation moderately.

For reference, a sample defaults structure appears at

https://github.com/xOZx/videoPlayer/blob/FLUID-4554/demos/VideoPlayer.html

I have a suggestion that both "video" and "captions" structures (except for "currentTrack", etc.) be moved out of the model area of this component's options to top level, since they are "not ordinarily modifiable" during the lifetime of the component. Actually, this may be an error in the current implementation since this seems to be the position that parts of the implementation are expecting to find the captions - e.g.

var captions = that.options.captions || {};

Antranig
_______________________________________________________
fluid-work mailing list - fluid-work at fluidproject.org<mailto:fluid-work at fluidproject.org>
To unsubscribe, change settings or access archives,
see http://lists.idrc.ocad.ca/mailman/listinfo/fluid-work

_______________________________________________________
fluid-work mailing list - fluid-work at fluidproject.org<mailto:fluid-work at fluidproject.org>
To unsubscribe, change settings or access archives,
see http://lists.idrc.ocad.ca/mailman/listinfo/fluid-work

---
Colin Clark
Technical Lead, Fluid Project
http://fluidproject.org


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.idrc.ocad.ca/pipermail/fluid-work/attachments/20120216/937a8d8c/attachment.html>


More information about the fluid-work mailing list