File tree Expand file tree Collapse file tree 4 files changed +34
-30
lines changed
Expand file tree Collapse file tree 4 files changed +34
-30
lines changed Original file line number Diff line number Diff line change @@ -60,6 +60,8 @@ class BufferQueue : public BnSurfaceTexture {
6060 BufferQueue (bool allowSynchronousMode = true );
6161 virtual ~BufferQueue ();
6262
63+ virtual int query (int what, int * value);
64+
6365 // setBufferCount updates the number of available buffer slots. After
6466 // calling this all buffer slots are both unallocated and owned by the
6567 // BufferQueue object (i.e. they are not owned by the client).
Original file line number Diff line number Diff line change @@ -55,7 +55,7 @@ class SurfaceTexture : public BufferQueue {
5555
5656 virtual ~SurfaceTexture ();
5757
58- virtual int query ( int what, int * value);
58+
5959
6060 // updateTexImage sets the image contents of the target texture to that of
6161 // the most recently queued buffer.
Original file line number Diff line number Diff line change @@ -166,6 +166,37 @@ status_t BufferQueue::setBufferCount(int bufferCount) {
166166 return OK;
167167}
168168
169+ int BufferQueue::query (int what, int * outValue)
170+ {
171+ Mutex::Autolock lock (mMutex );
172+
173+ if (mAbandoned ) {
174+ ST_LOGE (" query: SurfaceTexture has been abandoned!" );
175+ return NO_INIT;
176+ }
177+
178+ int value;
179+ switch (what) {
180+ case NATIVE_WINDOW_WIDTH:
181+ value = mDefaultWidth ;
182+ break ;
183+ case NATIVE_WINDOW_HEIGHT:
184+ value = mDefaultHeight ;
185+ break ;
186+ case NATIVE_WINDOW_FORMAT:
187+ value = mPixelFormat ;
188+ break ;
189+ case NATIVE_WINDOW_MIN_UNDEQUEUED_BUFFERS:
190+ value = mSynchronousMode ?
191+ (MIN_UNDEQUEUED_BUFFERS-1 ) : MIN_UNDEQUEUED_BUFFERS;
192+ break ;
193+ default :
194+ return BAD_VALUE;
195+ }
196+ outValue[0 ] = value;
197+ return NO_ERROR;
198+ }
199+
169200status_t BufferQueue::requestBuffer (int slot, sp<GraphicBuffer>* buf) {
170201 ST_LOGV (" requestBuffer: slot=%d" , slot);
171202 Mutex::Autolock lock (mMutex );
Original file line number Diff line number Diff line change @@ -416,36 +416,7 @@ bool SurfaceTexture::isSynchronousMode() const {
416416 return mSynchronousMode ;
417417}
418418
419- int SurfaceTexture::query (int what, int * outValue)
420- {
421- Mutex::Autolock lock (mMutex );
422419
423- if (mAbandoned ) {
424- ST_LOGE (" query: SurfaceTexture has been abandoned!" );
425- return NO_INIT;
426- }
427-
428- int value;
429- switch (what) {
430- case NATIVE_WINDOW_WIDTH:
431- value = mDefaultWidth ;
432- break ;
433- case NATIVE_WINDOW_HEIGHT:
434- value = mDefaultHeight ;
435- break ;
436- case NATIVE_WINDOW_FORMAT:
437- value = mPixelFormat ;
438- break ;
439- case NATIVE_WINDOW_MIN_UNDEQUEUED_BUFFERS:
440- value = mSynchronousMode ?
441- (MIN_UNDEQUEUED_BUFFERS-1 ) : MIN_UNDEQUEUED_BUFFERS;
442- break ;
443- default :
444- return BAD_VALUE;
445- }
446- outValue[0 ] = value;
447- return NO_ERROR;
448- }
449420
450421void SurfaceTexture::abandon () {
451422 Mutex::Autolock lock (mMutex );
You can’t perform that action at this time.
0 commit comments