framelinksrc: stop grab and close device only if needed
This commit is contained in:
parent
adb73c4d21
commit
32e6e16d7e
@ -155,6 +155,7 @@ gst_framelinksrc_init (GstFramelinkSrc * src)
|
|||||||
|
|
||||||
src->buffer_ready = FALSE;
|
src->buffer_ready = FALSE;
|
||||||
src->buffer_processed_count = 0;
|
src->buffer_processed_count = 0;
|
||||||
|
src->acq_started = FALSE;
|
||||||
|
|
||||||
src->caps = NULL;
|
src->caps = NULL;
|
||||||
src->buffer = NULL;
|
src->buffer = NULL;
|
||||||
@ -446,13 +447,16 @@ gst_framelinksrc_stop (GstBaseSrc * bsrc)
|
|||||||
|
|
||||||
GST_DEBUG_OBJECT (src, "stop");
|
GST_DEBUG_OBJECT (src, "stop");
|
||||||
|
|
||||||
|
if (src->acq_started) {
|
||||||
VCECLB_StopGrabEx (src->grabber, src->channel);
|
VCECLB_StopGrabEx (src->grabber, src->channel);
|
||||||
|
src->acq_started = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (src->grabber) {
|
||||||
VCECLB_ReleaseDMAAccessEx (src->grabber, src->channel);
|
VCECLB_ReleaseDMAAccessEx (src->grabber, src->channel);
|
||||||
|
|
||||||
VCECLB_Done (src->grabber);
|
VCECLB_Done (src->grabber);
|
||||||
|
|
||||||
src->grabber = NULL;
|
src->grabber = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
src->dropped_frame_count = 0;
|
src->dropped_frame_count = 0;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user