Expand my Community achievements bar.

SOLVED

Seeking in Playback

Avatar

Level 3

Hi guys, I'm having trouble with the seek bar in my playback application. It doesn't seek to the right position, instead it starts the archive over.  I try to call the archiveManager.seek() to 50% of the total time of the video using a button, and it does the same thing.

I also see in my console a line "warning:unable to bind to property 'archiveManager' on class 'com.adobe.rtc.session::ConnectSessionContainer"

Code as follows:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx"
               xmlns:rtc="http://ns.adobe.com/rtc"
               xmlns:currentDir="*" applicationComplete="loadComplete()">
    <fx:Script>
        <![CDATA[
            [Bindable] var archiveId:String = "session";
            [Bindable] var roomURL:String = "<RoomURL>";
           
            function loadComplete():void
            {
                var flashVars = this.loaderInfo.parameters;
                try
                {
                    if(flashVars.hasOwnProperty("room"))
                    {
                        roomURL = "<RoomURL>" + flashVars.room;   
                    }
                    else
                    {
                        roomURL = "<RoomURL>";   
                    }
                }
                catch(error:Error)
                {
                    teamLabel.text = "Error: Invalid Room Specified.";
                    roomURL = "<RoomURL>";
                }
               
                try
                {
                    if(flashVars.hasOwnProperty("archiveId"))
                    {
                        archiveId = flashVars.archiveId;
                    }
                    else
                    {
                        archiveId = "session";   
                    }
                }
                catch(error:Error)
                {
                    teamLabel.text = "Error: Invalid archive specified.";
                    archiveId = "session";
                }
            }
        ]]>
    </fx:Script>
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
        <rtc:PlaybackAuthenticator id="auth" />
    </fx:Declarations>
    <s:Label id="teamLabel" text="TEAM Video Playback" />
    <rtc:ConnectSessionContainer id="cSession" authenticator="{auth}" width="100%" height="100%"
                                 roomURL="{roomURL}"
                                 archiveID="{archiveId}">                      
        <mx:HBox top="10" right="10" left="10" bottom="10" verticalGap="6" horizontalAlign="center">
            <mx:VBox width="100%" height="100%" >
                <rtc:WebCamera width="80%" height="80%" />
                <rtc:AudioSubscriber />
                <s:HSlider width="80%" maximum="{cSession.archiveManager.totalTime}"
                           value="{cSession.archiveManager.currentTime}" id="slider"
                           change="{cSession.archiveManager.seek(slider.value)}" />
                <mx:Button id="seekButton" label="Seek to 50%" click="{cSession.archiveManager.seek(cSession.archiveManager.totalTime/2)}" />
                <!-- <currentDir:PlaybackBar width="100%" height="200" /> -->
            </mx:VBox>
        </mx:HBox>
    </rtc:ConnectSessionContainer>
</s:Application>


1 Accepted Solution

Avatar

Correct answer by
Employee

Hi,

Thanks again for reporting this issue. I have attached the updated swc with the fix. This fix would be part of the next release.

Sincerely

Arun

View solution in original post

14 Replies

Avatar

Former Community Member

Hi There,

This definitely used to work - I'm spending some time debugging today to

see what's changed. I'll keep you posted..

thanks for reporting!

nigel

Avatar

Level 3

Ok thanks for the update.  And good luck!

Avatar

Former Community Member

Ha, found it. Arun will post a fixed SWC build shortly...

thanks again for the bug report - this really helped!

nigel

Avatar

Correct answer by
Employee

Hi,

Thanks again for reporting this issue. I have attached the updated swc with the fix. This fix would be part of the next release.

Sincerely

Arun

Avatar

Level 3

Hi guys:

I've updated and I'm using the attached swc, but I'm still getting the same results.  Am I missing a step?

I replaced the referenced lccs.swc library with the lccs_playBackFix.swc and run the same code.  When I seek to a new position, the playback bar updates, but the video does not.  Is there anything I must add to the WebCamera object that will control the position of the video playback?  It looks like the session container is doing the footwork for playing back at this time.

Thanks for the help

Avatar

Former Community Member

That's odd - it was definitely working here.. Let me make sure you got the

right build.

nigel

Avatar

Employee

Hi Eric,

Do you hit this when you are trying to seek the Audio & Video streams in your playback ?

Thanks

Arun

Avatar

Level 3

Yes.  This happens when trying to call seek() from the archive manager upon playback.  Am I passing it a value that is too low?  It seems to be taking care of moving the slider appropriately with the correct percentage of the total time, but whenever seek is called it starts the video stream over instead of seeking to the specified position.

I'm using Flex 4.1, the new lccs_playBackFix.swc, and I'm running the code on an internet browser.

Avatar

Former Community Member

Ack, I think I fixed data messaging seek (chat, whiteboards, etc) but not

A/V. My bad - sorry for the inconvenience. I repro'd the issue here and just

made a fix. We'll get you the right build shortly.

nigel

Avatar

Employee

Hi Eric,

Sorry abt the inconvenience. Attaching the new swc.

Thanks

Arun

Avatar

Level 3

Hi guys:

Updated the code and tested the new application with the most recent swc.  I'm still having the same issue with seeking.  I made sure to clear my browser cache, and I know the code is running the updated version.  Do I have to record my archives again to get them to seek correctly?  This is my Playback Code:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx"
               xmlns:rtc="http://ns.adobe.com/rtc"
               xmlns:currentDir="*" applicationComplete="loadComplete()">
    <fx:Script>
        <![CDATA[
            [Bindable] var archiveId:String = "session";
            [Bindable] var roomURL:String = "URL";
           
            function loadComplete():void
            {
                var flashVars = this.loaderInfo.parameters;
                try
                {
                    if(flashVars.hasOwnProperty("room"))
                    {
                        roomURL = "URL" + flashVars.room;   
                    }
                    else
                    {
                        roomURL = "URL";   
                    }
                }
                catch(error:Error)
                {
                    teamLabel.text = "Error: Invalid Room Specified.";
                    roomURL = "URL";
                }
               
                try
                {
                    if(flashVars.hasOwnProperty("archiveId"))
                    {
                        archiveId = flashVars.archiveId;
                    }
                    else
                    {
                        archiveId = "session";   
                    }
                }
                catch(error:Error)
                {
                    teamLabel.text = "Error: Invalid archive specified.";
                    archiveId = "session";
                }
            }
           
            function sessionComplete():void
            {
                //playbackBar.subscribe();
            }
        ]]>
    </fx:Script>
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
        <rtc:PlaybackAuthenticator id="auth" />
    </fx:Declarations>
    <s:Label id="teamLabel" text="TEAM Video Playback 2" />
    <rtc:ConnectSessionContainer id="cSession" authenticator="{auth}" width="100%" height="100%"
                                 roomURL="{roomURL}"
                                 archiveID="{archiveId}" creationComplete="sessionComplete()">
        <mx:HBox top="10" right="10" left="10" bottom="10" verticalGap="6" horizontalAlign="center">
            <mx:VBox width="100%" height="100%">
                <rtc:WebCamera width="80%" height="80%"  />
                <rtc:AudioSubscriber />
                <s:HSlider width="80%" maximum="{cSession.archiveManager.totalTime}"
                           value="{cSession.archiveManager.currentTime}" id="slider"
                           change="{cSession.archiveManager.seek(slider.value)}" />
                <!-- <mx:Button id="seekButton" label="Seek to 50%" click="{cSession.archiveManager.seek(cSession.archiveManager.totalTime/2)}" /> -->
                <!-- <currentDir:PlaybackBar id="playbackBar" width="90%" height="200" /> -->
            </mx:VBox>
        </mx:HBox>
    </rtc:ConnectSessionContainer>
</s:Application>

Avatar

Former Community Member

Hi Eric,

Ok, this time I'm sure it worked - I just tried it myself and no problems.

To be clear, everything other than seeking is working - you're seeing the

webcam?

nigel

Avatar

Level 3

Hi Nigel:

Yes I'm able to see the webcam playing back, but when I seek to a position (either by scrolling or a button to move to 50%) it starts the video feed over.  I made sure to build with the updated swc and also clear all the cache and put distinguishing changes on my new flex application.  I will try to fit another full round trip test in today between publishing this other website.

Thanks,

-Eric

Avatar

Level 3

Ok thanks so much guys.  It took another round trip of testing in order to get it working properly, perhaps I was using the wrong version.