void AVC1394Control::pause() { //printf("AVC1394Control::pause(): 1\n"); device_lock->lock("AVC1394Control::pause"); avc1394_vcr_pause(handle, device); device_lock->unlock(); }
static gboolean gst_hdv1394src_stop (GstBaseSrc * bsrc) { GstHDV1394Src *src = GST_HDV1394SRC (bsrc); close (READ_SOCKET (src)); close (WRITE_SOCKET (src)); READ_SOCKET (src) = -1; WRITE_SOCKET (src) = -1; iec61883_mpeg2_close (src->iec61883mpeg2); #if 0 raw1394_stop_iso_rcv (src->handle, src->channel); #endif if (src->use_avc) { raw1394handle_t avc_handle = raw1394_new_handle_on_port (src->port); /* pause and stop the VCR */ if (avc_handle) { if (!avc1394_vcr_is_recording (avc_handle, src->avc_node) && (avc1394_vcr_is_playing (avc_handle, src->avc_node) != AVC1394_VCR_OPERAND_PLAY_FORWARD_PAUSE)) avc1394_vcr_pause (avc_handle, src->avc_node); avc1394_vcr_stop (avc_handle, src->avc_node); raw1394_destroy_handle (avc_handle); } else { GST_WARNING_OBJECT (src, "Starting VCR via avc1394 failed: %s", g_strerror (errno)); } } raw1394_destroy_handle (src->handle); return TRUE; }