# No Caption Tracks Available 5.3

**URL:** <https://forum.developer.roku.com/t/no-caption-tracks-available-5-3/2741>\
**Category:** Archived\
**Tags:** roku-developer-program\
**Created:** [January 14, 2014, 7:19pm UTC](https://forum.developer.roku.com/t/no-caption-tracks-available-5-3/2741 "2014-01-14T19:19:23Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![coltonoscopy](https://avatars.discourse-cdn.com/v4/letter/c/4da419/32.png) [@coltonoscopy](https://forum.developer.roku.com/u/coltonoscopy)\
**Post date:** [January 14, 2014, 7:19pm UTC](https://forum.developer.roku.com/t/no-caption-tracks-available-5-3/2741/1 "2014-01-14T19:19:23Z")

</div>

Hey all!

Recently, we’ve noticed that our Roku channel’s caption tracks are no longer showing up when we hit the \* menu. At first, I read the following and thought that it was because we were using SRTs, which sounded like they had been superseded past 3.1:

[http://sdkdocs.roku.com/plugins/viewsou … Id=3114451](http://sdkdocs.roku.com/plugins/viewsource/viewpagesrc.action?pageId=3114451)

Therefore, we converted one of our SRTs to TTML and updated the feed to test, but the caption track for that video isn’t being detected either. I also made sure to set Closed Captions to “On” instead of “Off” or “Instant Replay”. Here is a sample of what our XML looks like:

```auto

<item sdImg="http://cdn.cs50.net/2013/fall/shorts/hash_tables/hash_tables.png" hdImg="http://cdn.cs50.net/2013/fall/shorts/hash_tables/hash_tables.png">
            <title>Hash Tables</title>
            <contentId>http://cdn.cs50.net/2013/fall/shorts/hash_tables/hash_tables-720p.mp4</contentId>
            <subtitleUrl>http://cdn.cs50.net/2013/fall/shorts/hash_tables/lang/en/hash_tables.ttml</subtitleUrl>
            <contentType>Talk</contentType>
            <contentQuality>HD</contentQuality>
            <media>
              <streamFormat>mp4</streamFormat>
              <streamQuality>HD</streamQuality>
              <streamUrl>http://cdn.cs50.net/2013/fall/shorts/hash_tables/hash_tables-720p.mp4</streamUrl>
            </media>
            <media>
              <streamFormat>mp4</streamFormat>
              <streamQuality>SD</streamQuality>
              <streamUrl>http://cdn.cs50.net/2013/fall/shorts/hash_tables/hash_tables-360p.mp4</streamUrl>
            </media>
            <synopsis></synopsis>
            <runtime>461</runtime>
        </item>

```

We’re confused as to where we should venture next, as subtitles have worked in the past! We appreciate your help very much.

Colton

---

<div class="post-metadata">

**Author:** ![RokuJoel](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@RokuJoel](https://forum.developer.roku.com/u/RokuJoel)\
**Post date:** [January 14, 2014, 8:10pm UTC](https://forum.developer.roku.com/t/no-caption-tracks-available-5-3/2741/2 "2014-01-14T20:10:46Z")

</div>

On firmware newer than 3.1 are you setting videoScreen.ShowSubtitle(true)?

Details on how our captions _should_ be working on 5.3 and higher firmware are here:  
[http://sdkdocs.roku.com/display/sdkdoc/ … on+Support](http://sdkdocs.roku.com/display/sdkdoc/Closed+Caption+Support)

There were definitely some caption related bugs in 5.3, hopefully they will all be resolved in the final release of 5.4.

Also, for roVideoPlayer, we have a new roCaptionRenderer component:  
[http://sdkdocs.roku.com/display/sdkdoc/ … onRenderer](http://sdkdocs.roku.com/display/sdkdoc/roCaptionRenderer)

Also, not for 3.1, so make sure you check firmware version before calling any of these methods.

- Joel

---

<div class="post-metadata">

**Author:** ![coltonoscopy](https://avatars.discourse-cdn.com/v4/letter/c/4da419/32.png) [@coltonoscopy](https://forum.developer.roku.com/u/coltonoscopy)\
**Post date:** [January 15, 2014, 11:11pm UTC](https://forum.developer.roku.com/t/no-caption-tracks-available-5-3/2741/3 "2014-01-15T23:11:47Z")

</div>

Hey RokuJoel,

Thanks for the reply! I tried setting video.ShowSubtitle(true), but that didn’t work; however, I noticed your last point about the roCaptionRenderer(). Does this mean that I will be unable to render subtitles without including that component in the source code? i.e., Here’s what my videoScreen code currently looks like:

```auto

Function showVideoScreen(episode As Object)

    if type(episode) <> "roAssociativeArray" then
        print "invalid data passed to showVideoScreen"
        return -1
    endif

    port = CreateObject("roMessagePort")
    screen = CreateObject("roVideoScreen")
    screen.SetMessagePort(port)

    screen.SetPositionNotificationPeriod(30)
    screen.SetContent(episode)
    screen.ShowSubtitle(true)
    screen.Show()

    'Uncomment his line to dump the contents of the episode to be played
    'PrintAA(episode)

    while true
        msg = wait(0, port)

        if type(msg) = "roVideoScreenEvent" then
            print "showHomeScreen | msg = "; msg.getMessage() " | index = "; msg.GetIndex()
            if msg.isfullresult()
            	print "Video Completed Playback Normally"
            	RegDelete(episode.ContentId)
            	print "deleted bookmark for playback position"
            else if msg.isScreenClosed()
                print "Screen closed"
                exit while
            elseif msg.isRequestFailed()
                print "Video request failure: "; msg.GetIndex(); " " msg.GetData() 
            elseif msg.isStatusMessage()
                print "Video status: "; msg.GetIndex(); " " msg.GetData() 
            elseif msg.isButtonPressed()
                print "Button pressed: "; msg.GetIndex(); " " msg.GetData()
            elseif msg.isPlaybackPosition() then
                nowpos = msg.GetIndex()
                RegWrite(episode.ContentId, nowpos.toStr())
            else
                print "Unexpected event type: "; msg.GetType()
            end if
        else
            print "Unexpected message class: "; type(msg)
        end if
    end while

End Function

```

---

<div class="post-metadata">

**Author:** ![RokuJoel](https://avatars.discourse-cdn.com/v4/letter/r/e95f7d/32.png) [@RokuJoel](https://forum.developer.roku.com/u/RokuJoel)\
**Post date:** [January 16, 2014, 12:38am UTC](https://forum.developer.roku.com/t/no-caption-tracks-available-5-3/2741/4 "2014-01-16T00:38:12Z")

</div>

roCaptionRenderer is for use with roScreen and roVideoPlayer, for roVideoScreen, you shouldn’t need to use that. I believe what you are seeing is a bug in 5.3, as I said should be resolved soon when 5.4 is released. There is a patch we can distribute to your users in the mean time if they are complaining, you need to email us a list of users serial numbers (from Settings, About) and we can allocate the patch to those devices.

- Joel

---

<div class="post-metadata">

**Author:** ![coltonoscopy](https://avatars.discourse-cdn.com/v4/letter/c/4da419/32.png) [@coltonoscopy](https://forum.developer.roku.com/u/coltonoscopy)\
**Post date:** [January 16, 2014, 1:17am UTC](https://forum.developer.roku.com/t/no-caption-tracks-available-5-3/2741/5 "2014-01-16T01:17:40Z")

</div>

Hey Joel,

Okay, I see… thank you very much for your information! I will wait until Version 5.4 comes out and test to see if things are working properly by then.

Best,  
Colton

---

<div class="post-metadata">

**Author:** ![adrianc1982](https://avatars.discourse-cdn.com/v4/letter/a/5f8ce5/32.png) [@adrianc1982](https://forum.developer.roku.com/u/adrianc1982)\
**Post date:** [August 29, 2014, 7:26pm UTC](https://forum.developer.roku.com/t/no-caption-tracks-available-5-3/2741/6 "2014-08-29T19:26:10Z")

</div>

> “RokuJoel” wrote:  
> roCaptionRenderer is for use with roScreen and roVideoPlayer, for roVideoScreen

i cant get my events to show up with image canvas could you help?

```auto
	
	port = CreateObject("roMessagePort")
	canvas = CreateObject("roImageCanvas")

	canvas.SetMessagePort(port)
	canvas.SetLayer(0, { color: "#00000000", CompositionMode: "Source" })
	canvas.SetRequireAllImagesToDraw(true)
    canvas.SetLayer(1, canvasItems)
	canvas.SetLayer(2, canvasItems2)

captions = m.player.GetCaptionRenderer()
	captions.SetScreen(canvas)
	captions.SetMode(1)
	captions.SetMessagePort(port)
	captions.ShowSubtitle(true)

```

nothing shows up on if type(msg) = “roCaptionRendererEvent”

only videoplayer events and imagecanvas events, any ideas?
