Closed Bug 1205713 Opened 9 years ago Closed 9 years ago

Merge ImageHostOverlay/ImageClientOverlay to ImageHost/ImageClient

Categories

(Core :: Graphics, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla46
Tracking Status
firefox46 --- fixed

People

(Reporter: sotaro, Assigned: sotaro)

References

Details

Attachments

(1 file, 6 obsolete files)

ImageHostOverlay/ImageClientOverlay try to support only OverlayImage(sideband on gonk). It causes video rendering uses totally different code path between TextureClient based video and OverlayImage(sideband on gonk). It is not good. They should share code as much as possible.

From this point of view ImageHostOverlay/ImageClientOverlay should be merged to ImageHost/ImageClient. If it is done, we could test some code without using actual TV stream(sideband on gonk) on specific hardware.

On android, sideband stream and normal gralloc buffer rendering is handled by one android Layer. If sideband handle exists, sideband stream is used for rendering. It it does not exist, normal rendering is done.
Assignee: nobody → sotaro.ikeda.g
Depends on: 1205725
By attachment 8701722 [details] [diff] [review], ImageHost renders OverlayImage. With it, smooth transition between non OverlayImage and video image becomes possible.

OverlaySource rendering has priority than TextureHost rendering. Its is similar to android SidebandStream handling.
  http://androidxref.com/6.0.0_r1/xref/frameworks/native/services/surfaceflinger/Layer.cpp#556
Attachment #8701722 - Flags: feedback?(nical.bugzilla)
Comment on attachment 8701722 [details] [diff] [review]
patch - - Merge ImageHostOverlay/ImageClientOverlay to ImageHost/ImageClien

Review of attachment 8701722 [details] [diff] [review]:
-----------------------------------------------------------------

Nice! I would rename ImageHostOverlay into something that doesn't sound too much like a compositable (OverlayRenderer?) or even merge it with ImageHost since it doesn't represent a lot of code (I guess most of it would turn into a simple function (ImageHost::CompositeOverlay maybe?). Anyway, looks very good.

::: gfx/layers/composite/ImageHost.h
@@ +147,3 @@
>  
>  /**
>   * ImageHostOverlay works with ImageClientOverlay

nit: ImageClientOverlay is gone now

@@ +154,3 @@
>  
> +public:
> +  NS_INLINE_DECL_REFCOUNTING(CompositableHost)

I think you meant NS_INLINE_DECL_REFCOUNTING(ImageHostOverlay) ?
Attachment #8701722 - Flags: feedback?(nical.bugzilla) → feedback+
(In reply to Nicolas Silva [:nical] from comment #3)
> Comment on attachment 8701722 [details] [diff] [review]
> patch - - Merge ImageHostOverlay/ImageClientOverlay to ImageHost/ImageClien
> 
> Review of attachment 8701722 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> Nice! I would rename ImageHostOverlay into something that doesn't sound too
> much like a compositable (OverlayRenderer?) or even merge it with ImageHost
> since it doesn't represent a lot of code (I guess most of it would turn into
> a simple function (ImageHost::CompositeOverlay maybe?). Anyway, looks very
> good.
> 

At first, I thought to merged to ImageHost. But for the time being, just keep it seems simple.
(In reply to Nicolas Silva [:nical] from comment #3)
> Comment on attachment 8701722 [details] [diff] [review]
> 
> ::: gfx/layers/composite/ImageHost.h
> @@ +147,3 @@
> >  
> >  /**
> >   * ImageHostOverlay works with ImageClientOverlay
> 
> nit: ImageClientOverlay is gone now

I'll update the comment in a next patch.

> 
> @@ +154,3 @@
> >  
> > +public:
> > +  NS_INLINE_DECL_REFCOUNTING(CompositableHost)
> 
> I think you meant NS_INLINE_DECL_REFCOUNTING(ImageHostOverlay) ?

Yes, I'll update it in a next patch.
correct patch.
Attachment #8701933 - Attachment is obsolete: true
Attachment #8701963 - Flags: review?(nical.bugzilla)
Attachment #8701963 - Flags: review?(nical.bugzilla) → review+
Fix gonk debug build failure.
Attachment #8701963 - Attachment is obsolete: true
Attachment #8702473 - Flags: review+
https://hg.mozilla.org/mozilla-central/rev/ad889ee5ed7e
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla46
Blocks: 1234472
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: