SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV Clients Development

Notices

SageTV Clients Development This forum is for discussions relating to SageTV Open Source Clients Development.

Reply
 
Thread Tools Search this Thread Display Modes
  #61  
Old 09-14-2015, 05:47 PM
Narflex's Avatar
Narflex Narflex is offline
Sage
 
Join Date: Feb 2003
Location: Redondo Beach, CA
Posts: 6,315
OpenGL should work out fine...and you have the JOGL example code to go by (if I was writing it...I'd use OpenGL). Are you receiving compressed image data...or is it sending you image data line by line? (if it's the latter, then you'll want to change one of your responses to a GET_PROPERTY command so it'll send you the images compressed so this'll port to mobile)
__________________
Jeffrey Kardatzke
Google
Founder of SageTV
Reply With Quote
  #62  
Old 09-14-2015, 06:29 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,631
Quote:
Originally Posted by Narflex View Post
OpenGL should work out fine...and you have the JOGL example code to go by (if I was writing it...I'd use OpenGL). Are you receiving compressed image data...or is it sending you image data line by line? (if it's the latter, then you'll want to change one of your responses to a GET_PROPERTY command so it'll send you the images compressed so this'll port to mobile)
The problem with OpenGL is I feel like I'm writing Assembler code

I did change my current rendering to use more native OpenGL and FrameBuffer objects. That fixed my color issues (since now I can set the color tinting). LibGDX, which is what I'm using is a cross platform OpenGL wrapper that uses LwGL on a desktop and then delegates to Android's OpenGL ES when running on Android. I have direct access to the GL1, Gl2, and GL3 apis, if I need them.

I did try to use JOGL directly on Android but that failed miserably

I'm still having some rendering glitches, and I'm wondering if you could help explain what I "think" should be happening in the lifecycle.
In the following logging (my logging), this is order of how I'm seeing frames built (less all the calls to load image and draw texture).
Code:
Mon 9/14 20:17:27.607 UIManager: startFrame
Mon 9/14 20:17:27.610 UIManager: createSurface[3](720,480)
Mon 9/14 20:17:27.782 UIManager: flipBuffer
Mon 9/14 20:17:27.787 UIManager: startFrame
Mon 9/14 20:17:27.787 UIManager: setTargetSurface[3]
Mon 9/14 20:17:27.788 UIManager: setTargetSurface[0]
Mon 9/14 20:17:27.795 UIManager: flipBuffer
Mon 9/14 20:17:27.802 UIManager: startFrame
Mon 9/14 20:17:27.802 UIManager: setTargetSurface[0]
Mon 9/14 20:17:27.813 UIManager: flipBuffer
So, STARTFRAME is the beging a new new frame.
CREATE_SURFACE tells me to create a rendering surface OTHER than the main surface
FLIP_BUFFER tells me to take the currently active buffer and write it out to the main display.

SET TARGET SURFACE 3 set the surface back to the that I created earlier.

SET TARGET SURFACE 0 means use the main display buffer.

So, typically things will be start a frame, set a target surface, handle the draw requests, and then flip the buffer to the main display.

Is all that about right?

BTW, it is sending images, line by line (LOAD_IMAGELINE) so how to change that so taht sagetv sends complete images?
Reply With Quote
  #63  
Old 09-15-2015, 05:33 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,631
Jeff, I found the property the triggers using image streams. This was set to "" since useLocalNetworkOptimations was set... so, is this something whereby if you are on the same network, you should be using LOAD_IMAGE_LINE but if you are not, then you should be using compressed images? I would have thought that using compressed images would have been faster in most cases, but this is obviously not true, since you've coded this both ways.

A couple of other things.... The UI for my phone is 1920x1080... so it it better that I set that as the actual resolution, or should the resolution be set smaller and then hardware upscaled?
Reply With Quote
  #64  
Old 09-15-2015, 06:33 AM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
My guess is that image_line is easier on processor on both the server and the client, but harder on the network - so it is used when it is known that the network load won't adversely affect it (local).

UI size should probably be an adjustable option, because the 'ideal' ui resolution will likely vary from device to device. Higher UI resolution, up to display resolution, would produce higher quality, but at the expense of animation speed. I know that for me at least, as long as the text and images still look really nice, I'd rather smoother animations/scrolling than ultra sharp lines/text, especially as we're talking about a phone screen at this point. I have no complaints about the 1280x720 UI resolution on the HD300, even when scaled up to a 65" 1920x1080 screen.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #65  
Old 09-15-2015, 07:40 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,631
Quote:
Originally Posted by Fuzzy View Post
My guess is that image_line is easier on processor on both the server and the client, but harder on the network - so it is used when it is known that the network load won't adversely affect it (local).

UI size should probably be an adjustable option, because the 'ideal' ui resolution will likely vary from device to device. Higher UI resolution, up to display resolution, would produce higher quality, but at the expense of animation speed. I know that for me at least, as long as the text and images still look really nice, I'd rather smoother animations/scrolling than ultra sharp lines/text, especially as we're talking about a phone screen at this point. I have no complaints about the 1280x720 UI resolution on the HD300, even when scaled up to a 65" 1920x1080 screen.
I'll eventually make it a configuration property... I'm just looking for a sane default. 1920x1080 is not even a large phone screen anymore... so if we sending frames twice that size, I can performance issues with memory as well as animation speeds as you noted.
Reply With Quote
  #66  
Old 09-15-2015, 01:00 PM
Narflex's Avatar
Narflex Narflex is offline
Sage
 
Join Date: Feb 2003
Location: Redondo Beach, CA
Posts: 6,315
I wouldn't worry about using a different resolution just yet...get the other problems solved first, that's an easy config change to make later.

And the sequence you outlined above looks right. The reason it's doing the multiple surfaces is for optimization of animations. There's logic in the rendering system to determine the start/end points of animation operations and then figuring out if it's something that can be rendered to an external surface and then that surface can be animated to avoid having to redo all the rendering ops that created that surface. If OpenGL is powerful enough..this is not needed (i.e. we never implemented this for DirectX since desktop GPUs have plenty of horsepower). The main reason this was implemented was for the GPU in the extenders. This will slightly simplify your implementation if you indicate in the properties queries that you do not support surfaces.
__________________
Jeffrey Kardatzke
Google
Founder of SageTV
Reply With Quote
  #67  
Old 09-15-2015, 02:24 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,631
Quote:
Originally Posted by Narflex View Post
I wouldn't worry about using a different resolution just yet...get the other problems solved first, that's an easy config change to make later.

And the sequence you outlined above looks right. The reason it's doing the multiple surfaces is for optimization of animations. There's logic in the rendering system to determine the start/end points of animation operations and then figuring out if it's something that can be rendered to an external surface and then that surface can be animated to avoid having to redo all the rendering ops that created that surface. If OpenGL is powerful enough..this is not needed (i.e. we never implemented this for DirectX since desktop GPUs have plenty of horsepower). The main reason this was implemented was for the GPU in the extenders. This will slightly simplify your implementation if you indicate in the properties queries that you do not support surfaces.
Ok, so I indicate that I don't support surfaces, then I just need a single surface on which to render? (that seems easy enough...) I probably would still need to hold the rendering in an offscreen buffer (framebuffer) until the entire frame was rendered... or would you render directly to the main screen.

I'll play with this tonight and see how I make out
Reply With Quote
  #68  
Old 09-15-2015, 04:25 PM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
I think OpenGL is going to be doing it's own buffering anyway, isn't?
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #69  
Old 09-15-2015, 07:32 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,631
So, some progress...

Still not happy with the performance of it. The animations are really sluggish, even on the desktop, so I think I'm doing something wrong in the LibGDX wrapper.

But it is running on my phone, and i can interact with it... but I'd never consider releasing it, as is




Jeff, this is my Android log for the OPTIONS... anything stand out as being wrong...

Code:
09-15 21:12:57.630    2559-2595/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.629 Detecting cryptography support...
09-15 21:12:57.646    2559-2595/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.645 Attempting to connect to server at 192.168.1.176:31099
09-15 21:12:57.691    2559-2595/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.691 Connection accepted by server
09-15 21:12:57.691    2559-2595/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.691 Connected to media server
09-15 21:12:57.719    2559-2595/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.719 Connection accepted by server
09-15 21:12:57.720    2559-2595/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.719 Connected to gfx server
09-15 21:12:57.824    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.823 Testing to see if server can do a pull mode streaming connection...
09-15 21:12:57.830    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.830 Server can do a pull-mode streaming connection.
09-15 21:12:57.831    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.831 Max screen size=sagex.miniclient.uibridge.Dimension@108d3ae7
09-15 21:12:57.839    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.839 GetProperty: GFX_TEXTMODE =
09-15 21:12:57.840    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.840 GetProperty: FIRMWARE_VERSION = 9.0.0
09-15 21:12:57.841    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.841 GetProperty: GFX_BLENDMODE = PREMULTIPLY
09-15 21:12:57.842    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.842 GetProperty: GFX_DRAWMODE =
09-15 21:12:57.843    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.843 GetProperty: GFX_SURFACES = FALSE
09-15 21:12:57.844    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.843 GetProperty: GFX_HIRES_SURFACES =
09-15 21:12:57.844    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.844 GetProperty: GFX_VIDEO_UPDATE = TRUE
09-15 21:12:57.847    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.847 GetProperty: GFX_VIDEO_MASKS =
09-15 21:12:57.848    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.848 GetProperty: GFX_BITMAP_FORMAT = PNG,JPG
09-15 21:12:57.850    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.849 GetProperty: GFX_SCALING = HARDWARE
09-15 21:12:57.851    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.851 GetProperty: GFX_NEGSCALING =
09-15 21:12:57.853    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.853 GetProperty: GFX_OFFLINE_IMAGE_CACHE = TRUE
09-15 21:12:57.854    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.854 GetProperty: GFX_YUV_IMAGE_CACHE =
09-15 21:12:57.855    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.855 GetProperty: GFX_SUPPORTED_ASPECTS =
09-15 21:12:57.856    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.856 GetProperty: GFX_ASPECT =
09-15 21:12:57.859    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.859 GetProperty: GFX_FIXED_PAR =
09-15 21:12:57.861    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.861 GetProperty: GFX_DIFFUSE_TEXTURES =
09-15 21:12:57.863    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.863 GetProperty: GFX_XFORMS =
09-15 21:12:57.866    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.866 GetProperty: GFX_TEXTURE_BATCH_LIMIT =
09-15 21:12:57.867    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.867 GetProperty: VIDEO_ADVANCED_ASPECT_LIST =
09-15 21:12:57.868    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.868 GetProperty: GFX_SUPPORTED_RESOLUTIONS = 720x480;windowed
09-15 21:12:57.871    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.870 GetProperty: GFX_SUPPORTED_RESOLUTIONS_DIGITAL =
09-15 21:12:57.872    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.871 GetProperty: GFX_RESOLUTION = 720x720
09-15 21:12:57.872    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.872 GetProperty: GFX_HDMI_MODE =
09-15 21:12:57.873    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.873 GetProperty: GFX_COMPOSITE = BLEND
09-15 21:12:57.874    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.874 GetProperty: GFX_COLORKEY =
09-15 21:12:57.875    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.875 GetProperty: AUDIO_OUTPUTS =
09-15 21:12:57.876    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.875 GetProperty: AUDIO_OUTPUT =
09-15 21:12:57.876    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.876 GetProperty: INPUT_DEVICES = IR,KEYBOARD,MOUSE
09-15 21:12:57.877    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.877 GetProperty: DISPLAY_OVERSCAN = 0;0;1.0;1.0
09-15 21:12:57.878    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.877 GetProperty: VIDEO_CODECS = FlashVideo,H.264,MPEG1-Video,MPEG2-Video,MPEG4-Video,WMV7,WMV8,WMV9,VP6F
09-15 21:12:57.879    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.879 GetProperty: AUDIO_CODECS = AAC,FLAC,MP2,MP3,WAV,Vorbis,WMA7,WMA8,AC3
09-15 21:12:57.882    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.882 GetProperty: PULL_AV_CONTAINERS = MPEG2-PS,AAC,MPEG2-TS,ASF,AVI,FLAC,FlashVideo,MP2,MP3,MPEG1,Ogg,Quicktime,Vorbis,WAV,MATROSKA
09-15 21:12:57.883    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.883 GetProperty: PUSH_AV_CONTAINERS = MPEG2-PS
09-15 21:12:57.884    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.884 GetProperty: STREAMING_PROTOCOLS = file,stv
09-15 21:12:57.886    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.885 GetProperty: FIXED_PUSH_MEDIA_FORMAT =
09-15 21:12:57.889    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.888 GetProperty: OPENURL_INIT =
09-15 21:12:57.890    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.889 GetProperty: FRAME_STEP =
09-15 21:12:57.891    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.890 GetProperty: GFX_CURSORPROP =
09-15 21:12:57.893    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.892 GetProperty: DETAILED_BUFFER_STATS = TRUE
09-15 21:12:57.893    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.893 GetProperty: PUSH_BUFFER_SEEKING = TRUE
09-15 21:12:57.894    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.894 GetProperty: MEDIA_PLAYER_BUFFER_DELAY = 2000
09-15 21:12:57.895    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.894 GetProperty: REMOTE_FS =
09-15 21:12:57.895    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.895 GetProperty: IR_PROTOCOL =
09-15 21:12:57.896    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.896 GetProperty: GFX_SUBTITLES = TRUE
09-15 21:12:57.897    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.896 GetProperty: FORCED_MEDIA_RECONNECT = TRUE
09-15 21:12:57.898    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.897 GetProperty: AUTH_CACHE = TRUE
09-15 21:12:57.899    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.898 GetProperty: DEINTERLACE_CONTROL =
09-15 21:12:57.899    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.899 GetProperty: PUSH_BUFFER_LIMIT =
09-15 21:12:57.900    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.900 GetProperty: SCREENSHOT_CAP =
09-15 21:12:57.901    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.901 GetProperty: ZLIB_COMM = TRUE
09-15 21:12:57.906    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.905 GetProperty: OFFLINE_CACHE_CONTENTS = file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fBlackBGFillSquare2epng-1441474609000-48-48|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fHeaderIconBG2epng-1441474609000-320-18|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fguideLeft2epng-1441474609000-14-71|glyphmap-fonts2fDejaVuSans-17-1-0-seans-desktop-9.0.0.4-128-128|glyphmap-fonts2fDejaVuSans-17-1-1-seans-desktop-9.0.0.4-128-128|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fMarkerSysAlert12epng-1441474609000-47-46|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fGoWindowed2epng-1441474609000-117-102|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fGoSleep2epng-1441474609000-97-121|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fClockBG2epng-1441474609000-320-18|glyphmap-fonts2fDejaVuSansMono-17-0-0-seans-desktop-9.0.0.4-128-128|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fSageLogo256small2epng-1441474609000-169-59|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fCenterBGWithBorder2epng-1441474609000-32-972|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fMenuBorderLineNormal2epng-1441474609000-1-1|glyphmap-fonts2fDejaVuSans-23-1-1-seans-desktop-9.0.0.4-128-128|glyphmap-fonts2fDejaVuSans-23-1-2-seans-desktop-9.0.0.4-128-128|glyphmap-fonts2fDejaVuSans-14-0-0-seans-desktop-9.0.0.4-128-128|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fButtonHighlight2epng-1441474609000-248-38|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fButtonDivider2epng-1441474609000-940-2|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fMarkerRadioOn2epng-1441474609000-140-140|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fMarkerRadioOff2epng-1441474609000-140-140|glyphmap-fonts2fDejaVuSans-14-0-1-seans-desktop-9.0.0.4-128-128|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fSettingsBackground2ejpg-1441474609000-1024-576|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fScrollVBG2epng-1441474609000-40-651|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fScrollVUp2epng-1441474609000-31-28|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fScrollVDown2epng-1441474609000-31-28|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fScrollVArea2epng-1441474609000-29-576|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fScrollVBar2epng-1441474609000-18-40|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fAspectRatioCircle2epng-1441474609000-810-810|glyphmap-fonts2fDejaVuSans-23-1-0-seans-desktop-9.0.0.4-128-128|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fleft2epng-1441474609000-24-29|file-2fopt2fsagetv2fserver2fSTVs2fSageTV72fThemes2fStandard2fright2epng-1441474609000-25-27|
09-15 21:12:57.907    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.907 GetProperty: ADVANCED_IMAGE_CACHING = TRUE
09-15 21:12:57.908    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.908 GetProperty: VIDEO_ADVANCED_ASPECT =
09-15 21:12:57.911    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.910 SetProperty ADVANCED_IMAGE_CACHING
09-15 21:12:57.913    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.913 SetProperty RECONNECT_SUPPORTED
09-15 21:12:57.916    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.916 SetProperty ZLIB_COMM_XFER
09-15 21:12:57.922    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.921 SetProperty GFX_ASPECT
09-15 21:12:57.924    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.924 SetProperty SUBTITLES_CALLBACKS
09-15 21:12:57.926    2559-2653/sagex.miniclient.android W/System.err﹕ Tue 9/15 21:12:57.926 GetProperty: CRYPTO_ALGORITHMS = RSA,Blowfish,DH,DES
Reply With Quote
  #70  
Old 09-15-2015, 07:41 PM
KryptoNyte's Avatar
KryptoNyte KryptoNyte is offline
Sage Icon
 
Join Date: Dec 2006
Posts: 2,470
What phone are you running that on, Sean?
Reply With Quote
  #71  
Old 09-15-2015, 08:15 PM
nyplayer nyplayer is offline
SageTVaholic
 
Join Date: Sep 2005
Posts: 4,475
Sean will that work on a NEXUS player I would like to try it ?
Reply With Quote
  #72  
Old 09-15-2015, 08:15 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,631
Quote:
Originally Posted by KryptoNyte View Post
What phone are you running that on, Sean?
It's a Nexus 5.
Reply With Quote
  #73  
Old 09-15-2015, 08:18 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,631
Quote:
Originally Posted by nyplayer View Post
Sean will that work on a NEXUS player I would like to try it ?
I have a nexus player as well... but I haven't tried it there.... There is still a lot of work to do on performance (my issues, not sagetv), but it is promising.
Reply With Quote
  #74  
Old 09-15-2015, 08:29 PM
nyplayer nyplayer is offline
SageTVaholic
 
Join Date: Sep 2005
Posts: 4,475
Quote:
Originally Posted by stuckless View Post
I have a nexus player as well... but I haven't tried it there.... There is still a lot of work to do on performance (my issues, not sagetv), but it is promising.
Ok thanks looking forward to the App.
Reply With Quote
  #75  
Old 09-16-2015, 11:15 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,631
Some good news... I found, and fixed a couple of the rendering glitches that I was having, now the UI appears smooth on the desktop and on Android phone. I was starting to think that perhaps LibGDX was letting me down, but, in the end, it was my mistakes

I still need to implement several more of the Placshifter GFX commands before the UI is 100% usable, but it's getting there.

Once I have that, and I add a screen for selecting a sagetv server (currently it's using my hard coded server address) I MIGHT make a build available for testing... provided that people realize this is version that's about 5 versions away from being an alpha (And it should without saying that this build ONLY renders a SageTV ui... the video playback stuff is still a long ways off)
Reply With Quote
  #76  
Old 09-16-2015, 11:32 AM
phantomii phantomii is offline
Sage Advanced User
 
Join Date: Mar 2009
Location: North Carolina
Posts: 170
I have a Matricom G-Box Q which I purchased to play media on my TV. Using the version of Android Kodi that came on it, the device has played pretty much any video I have tried. Would this work well as a play back device for what you are configuring? I am a long time Sage customer and want to set up a second system in a new house I just bought at the coast but without relatively good and inexpensive extenders that could be a challenge. Thoughts??? Oh, and if you would like me to try this out let me know and I can try it out once I get a Open Source SageTV Server set up. This will probably wait thought for the Windows EXE version as I know little about Linux.
Reply With Quote
  #77  
Old 09-16-2015, 11:40 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,631
Quote:
Originally Posted by phantomii View Post
I have a Matricom G-Box Q which I purchased to play media on my TV. Using the version of Android Kodi that came on it, the device has played pretty much any video I have tried. Would this work well as a play back device for what you are configuring? I am a long time Sage customer and want to set up a second system in a new house I just bought at the coast but without relatively good and inexpensive extenders that could be a challenge. Thoughts??? Oh, and if you would like me to try this out let me know and I can try it out once I get a Open Source SageTV Server set up. This will probably wait thought for the Windows EXE version as I know little about Linux.
From a UI point of view, once this done, it should run on any Android device as long as it supports opengl es 2 (which is pretty much all devices I think).

Video will be a different story... so at the very worst, you'l be able to access sagetv and interact with the UI, but video playback (which is coming much later) might be a challenge. In my brief research, it might be that video playback might only be supported on Android 5 (since I think i might need to take advantage of video apis that were added in 5).

I'm taking it one step at a time... step 1 is getting a solid UI working... Once that is complete, I'll tackle video.
Reply With Quote
  #78  
Old 09-16-2015, 11:48 AM
dinki's Avatar
dinki dinki is offline
Sage Expert
 
Join Date: Mar 2006
Posts: 682
Quote:
Originally Posted by stuckless View Post
Once I have that, and I add a screen for selecting a sagetv server (currently it's using my hard coded server address) I MIGHT make a build available for testing... provided that people realize this is version that's about 5 versions away from being an alpha (And it should without saying that this build ONLY renders a SageTV ui... the video playback stuff is still a long ways off)
Interested in testing even at this early stage. Do menu items work currently? Would I be able to see the guide, record tv (list shows), schedule recordings, etc or is that not implemented yet?
__________________
Intel Core i5-2500, 16GB RAM, OMV Linux 4.17, 3 TB of Data
SageTV 9 Docker, Open DCT Docker
Silicondust HDHomeRun Duo + Quatro
Sage Mini Client on Amazon Fire Sticks and Android TVs
Reply With Quote
  #79  
Old 09-16-2015, 11:52 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,631
Quote:
Originally Posted by dinki View Post
Interested in testing even at this early stage. Do menu items work currently? Would I be able to see the guide, record tv (list shows), schedule recordings, etc or is that not implemented yet?
Mostly working... I still have some work to do in translating touch to mouse events, etc. Stay tuned... Once I feel it's testable... I'll release something.

FYI... SageTV UI doesn't work well on a phone (might be ok on a tablet though). I think that eventually someone will want to make a STV that is designed for a small screen.
Reply With Quote
  #80  
Old 09-16-2015, 12:40 PM
Narflex's Avatar
Narflex Narflex is offline
Sage
 
Join Date: Feb 2003
Location: Redondo Beach, CA
Posts: 6,315
Sean,

For the question about buffering..I'd definitely recommend that it's drawn to a secondary surface and then blitted to the screen or swapped (i.e. swap the main surface pointer with the secondary one). If you don't do that then you'll likely end up with tearing during animations. It's possible you are using OpenGL in a way where this is already being done though.
__________________
Jeffrey Kardatzke
Google
Founder of SageTV
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Finally, a fully functional SageTV client on android and iphone! mkanet SageTV v7 Customizations 12 01-12-2013 12:22 AM
SageTV Placeshifter for Android nyle SageTV Placeshifter 5 12-31-2011 10:40 AM
Sage should get an android client running on this Deacon Crusher Hardware Support 1 09-29-2010 11:30 AM
Android client? equalize SageTV Placeshifter 1 07-22-2010 09:37 AM


All times are GMT -6. The time now is 10:59 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.