本文整理汇总了C++中dc1394_video_set_transmission函数的典型用法代码示例。如果您正苦于以下问题:C++ dc1394_video_set_transmission函数的具体用法?C++ dc1394_video_set_transmission怎么用?C++ dc1394_video_set_transmission使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dc1394_video_set_transmission函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: gst_dc1394_change_camera_transmission
gboolean
gst_dc1394_change_camera_transmission (GstDc1394 * src, gboolean on)
{
dc1394switch_t status = DC1394_OFF;
dc1394error_t err = DC1394_FAILURE;
gint i = 0;
g_return_val_if_fail (src->camera, FALSE);
if (on) {
status = dc1394_video_set_transmission (src->camera, DC1394_ON);
i = 0;
while (status == DC1394_OFF && i++ < 5) {
g_usleep (50000);
if (dc1394_video_get_transmission (src->camera,
&status) != DC1394_SUCCESS) {
if (status == DC1394_OFF) {
GST_LOG_OBJECT (src, "camera is still off , retrying");
}
}
}
if (i == 5) {
GST_ELEMENT_ERROR (src, RESOURCE, FAILED,
("Camera doesn't seem to want to turn on!"),
("Camera doesn't seem to want to turn on!"));
return FALSE;
}
GST_LOG_OBJECT (src, "got transmision status ON");
} else {
if (dc1394_video_set_transmission (src->camera,
DC1394_OFF) != DC1394_SUCCESS) {
GST_ELEMENT_ERROR (src, RESOURCE, FAILED, ("Unable to stop transmision"),
("Unable to stop transmision"));
return FALSE;
}
GST_LOG_OBJECT (src, "Stopping capture");
err = dc1394_capture_stop (src->camera);
if (err > 0) {
GST_ELEMENT_ERROR (src, RESOURCE, FAILED, ("Capture stop error : %d ",
err), ("Capture stop error : %d ", err));
return FALSE;
} else {
GST_LOG_OBJECT (src, "Capture stoped successfully");
}
}
return TRUE;
}
开发者ID:asrashley,项目名称:gst-plugins-bad,代码行数:56,代码来源:gstdc1394.c
示例2: dc1394_video_get_transmission
void ofxLibdc::setTransmit(bool transmit) {
dc1394switch_t cur, target;
dc1394_video_get_transmission(camera, &cur);
target = transmit ? DC1394_ON : DC1394_OFF;
if(cur != target)
dc1394_video_set_transmission(camera, target);
}
开发者ID:BluntBlade,项目名称:eyewriter,代码行数:7,代码来源:ofxLibdc.cpp
示例3: memset
/**
* Download image from FireFly
*/
void FFMVCCD::grabImage()
{
dc1394error_t err;
dc1394video_frame_t *frame;
uint32_t uheight, uwidth;
int sub;
uint16_t val;
struct timeval start, end;
// Let's get a pointer to the frame buffer
uint8_t * image = PrimaryCCD.getFrameBuffer();
// Get width and height
int width = PrimaryCCD.getSubW() / PrimaryCCD.getBinX();
int height = PrimaryCCD.getSubH() / PrimaryCCD.getBinY();
memset(image, 0, PrimaryCCD.getFrameBufferSize());
/*-----------------------------------------------------------------------
* stop data transmission
*-----------------------------------------------------------------------*/
gettimeofday(&start, NULL);
for (sub = 0; sub < sub_count; ++sub) {
IDMessage(getDeviceName(), "Getting sub %d of %d", sub, sub_count);
err=dc1394_capture_dequeue(dcam, DC1394_CAPTURE_POLICY_WAIT, &frame);
if (err != DC1394_SUCCESS) {
IDMessage(getDeviceName(), "Could not capture frame");
}
dc1394_get_image_size_from_video_mode(dcam,DC1394_VIDEO_MODE_640x480_MONO16, &uwidth, &uheight);
if (DC1394_TRUE == dc1394_capture_is_frame_corrupt(dcam, frame)) {
IDMessage(getDeviceName(), "Corrupt frame!");
continue;
}
// Fill buffer with random pattern
for (int i=0; i < height ; i++) {
for (int j=0; j < width; j++) {
/* Detect unsigned overflow */
val = ((uint16_t *) image)[i*width+j] + ntohs(((uint16_t*) (frame->image))[i*width+j]);
if (val > ((uint16_t *) image)[i*width+j]) {
((uint16_t *) image)[i*width+j] = val;
} else {
((uint16_t *) image)[i*width+j] = 0xFFFF;
}
}
}
dc1394_capture_enqueue(dcam, frame);
}
err=dc1394_video_set_transmission(dcam,DC1394_OFF);
IDMessage(getDeviceName(), "Download complete.");
gettimeofday(&end, NULL);
IDMessage(getDeviceName(), "Download took %d uS", (int) ((end.tv_sec - start.tv_sec) * 1000000 + (end.tv_usec - start.tv_usec)));
// Let INDI::CCD know we're done filling the image buffer
ExposureComplete(&PrimaryCCD);
}
开发者ID:A-j-K,项目名称:indi,代码行数:63,代码来源:ffmv_ccd.cpp
示例4: FD_CLR
void CvCaptureCAM_DC1394_v2_CPP::close()
{
if (dcCam)
{
// check for fileno valid before using
int fileno=dc1394_capture_get_fileno(dcCam);
if (fileno>=0 && FD_ISSET(fileno, &dc1394.camFds))
FD_CLR(fileno, &dc1394.camFds);
dc1394_video_set_transmission(dcCam, DC1394_OFF);
dc1394_capture_stop(dcCam);
dc1394_camera_free(dcCam);
dcCam = 0;
started = false;
}
for (int i = 0; i < NIMG; i++)
{
cvReleaseImage(&img[i]);
cvReleaseImage(&maps[i][0]);
cvReleaseImage(&maps[i][1]);
}
if (frameC)
{
if (frameC->image)
free(frameC->image);
free(frameC);
frameC = 0;
}
}
开发者ID:huamulan,项目名称:opencv,代码行数:30,代码来源:cap_dc1394_v2.cpp
示例5: capture_final
int capture_final(capture_t *cap)
{
int i;
for (i = 0; i < cap->num_active; ++i) {
dc1394_video_set_transmission(cap->cameras[i], DC1394_OFF);
dc1394_capture_stop(cap->cameras[i]);
dc1394_camera_free(cap->cameras[i]);
}
cap->num_active = 0;
free(cap->cameras); cap->cameras = NULL;
if (cap->camera_list != NULL) {
dc1394_camera_free_list(cap->camera_list);
cap->camera_list = NULL;
}
cap->num_cameras = 0;
if (cap->dc1394_cxt != NULL) {
dc1394_free(cap->dc1394_cxt);
cap->dc1394_cxt = NULL;
}
return CAPTURE_SUCCESS;
}
开发者ID:nagyistoce,项目名称:openvgr,代码行数:26,代码来源:capture.c
示例6: pdp_dc1394_free
static void pdp_dc1394_free(t_pdp_dc1394 *x)
{
dc1394_video_set_transmission(x->camera, DC1394_OFF);
dc1394_capture_stop(x->camera);
dc1394_camera_free(x->camera);
dc1394_free (x->d);
}
开发者ID:Angeldude,项目名称:pd,代码行数:7,代码来源:pdp_dc1394.c
示例7: cleanup_and_exit
/*-----------------------------------------------------------------------
* Releases the cameras and exits
*-----------------------------------------------------------------------*/
void cleanup_and_exit(dc1394camera_t *camera)
{
dc1394_video_set_transmission(camera, DC1394_OFF);
dc1394_capture_stop(camera);
dc1394_camera_free(camera);
exit(1);
}
开发者ID:Angeldude,项目名称:pd,代码行数:10,代码来源:pdp_dc1394.c
示例8: cleanup
void cleanup(void) {
int i;
for (i=0; i < numCameras; i++) {
dc1394_video_set_transmission(cameras[i], DC1394_OFF);
dc1394_capture_stop(cameras[i]);
}
}
开发者ID:carson,项目名称:dc1394_still,代码行数:7,代码来源:dc1394_still.c
示例9: main
int main(int argc, char *argv[])
{
dc1394camera_t * camera;
dc1394error_t err;
dc1394video_frame_t * frame;
dc1394_t * d;
dc1394camera_list_t * list;
d = dc1394_new (); /* Initialize libdc1394 */
if (!d)
return 1;
err=dc1394_camera_enumerate (d, &list); /* Find cameras */
DC1394_ERR_RTN(err,"Failed to enumerate cameras");
if (list->num == 0) { /* Verify that we have at least one camera */
dc1394_log_error("No cameras found");
return 1;
}
camera = dc1394_camera_new (d, list->ids[0].guid); /* Work with first camera */
if (!camera) {
dc1394_log_error("Failed to initialize camera with guid %llx", list->ids[0].guid);
return 1;
}
dc1394_camera_free_list (list);
err=dc1394_capture_setup(camera, 4, DC1394_CAPTURE_FLAGS_DEFAULT); /* Setup capture */
err=dc1394_video_set_transmission(camera, DC1394_ON); /* Start transmission */
err=dc1394_capture_dequeue(camera, DC1394_CAPTURE_POLICY_WAIT, &frame);/* Capture */
DC1394_ERR_RTN(err,"Problem getting an image");
err=dc1394_capture_enqueue(camera, frame); /* Release the buffer */
err=dc1394_video_set_transmission(camera, DC1394_OFF); /* Stop transmission */
err=dc1394_capture_stop(camera); /* Stop capture */
printf("Hello World\n"); /* Hey, this is a HELLO WORLD program!! */
dc1394_camera_free (camera); /* cleanup and exit */
dc1394_free (d);
return 0;
}
开发者ID:robhemsley,项目名称:libdc1394,代码行数:46,代码来源:helloworld.c
示例10: defined
VideoIIDC1394::~VideoIIDC1394(void)
{
#if defined(DUNE_WITH_DC1394)
dc1394_video_set_transmission(camera, DC1394_OFF);
dc1394_capture_stop(camera);
dc1394_camera_free(camera);
#endif
}
开发者ID:carlos-felipe88,项目名称:dune,代码行数:8,代码来源:VideoIIDC1394.cpp
示例11: VideoException
void FirewireVideo::init_camera(
uint64_t guid, int dma_frames,
dc1394speed_t iso_speed,
dc1394video_mode_t video_mode,
dc1394framerate_t framerate
) {
if(video_mode>=DC1394_VIDEO_MODE_FORMAT7_0)
throw VideoException("format7 modes need to be initialized through the constructor that allows for specifying the roi");
camera = dc1394_camera_new (d, guid);
if (!camera)
throw VideoException("Failed to initialize camera");
// Attempt to stop camera if it is already running
dc1394switch_t is_iso_on = DC1394_OFF;
dc1394_video_get_transmission(camera, &is_iso_on);
if (is_iso_on==DC1394_ON) {
dc1394_video_set_transmission(camera, DC1394_OFF);
}
cout << "Using camera with GUID " << camera->guid << endl;
//-----------------------------------------------------------------------
// setup capture
//-----------------------------------------------------------------------
if( iso_speed >= DC1394_ISO_SPEED_800)
{
err=dc1394_video_set_operation_mode(camera, DC1394_OPERATION_MODE_1394B);
if( err != DC1394_SUCCESS )
throw VideoException("Could not set DC1394_OPERATION_MODE_1394B");
}
err=dc1394_video_set_iso_speed(camera, iso_speed);
if( err != DC1394_SUCCESS )
throw VideoException("Could not set iso speed");
err=dc1394_video_set_mode(camera, video_mode);
if( err != DC1394_SUCCESS )
throw VideoException("Could not set video mode");
err=dc1394_video_set_framerate(camera, framerate);
if( err != DC1394_SUCCESS )
throw VideoException("Could not set framerate");
err=dc1394_capture_setup(camera,dma_frames, DC1394_CAPTURE_FLAGS_DEFAULT);
if( err != DC1394_SUCCESS )
throw VideoException("Could not setup camera - check settings");
//-----------------------------------------------------------------------
// initialise width and height from mode
//-----------------------------------------------------------------------
dc1394_get_image_size_from_video_mode(camera, video_mode, &width, &height);
Start();
}
开发者ID:WooYoungChoi,项目名称:Pangolin,代码行数:58,代码来源:firewire.cpp
示例12: cleanup_cam
void
cleanup_cam( PGR_Cam *pgcp )
{
if( IS_CAPTURING(pgcp) ) dc1394_capture_stop( pgcp->pc_cam_p );
if( IS_TRANSMITTING(pgcp) )
dc1394_video_set_transmission( pgcp->pc_cam_p, DC1394_OFF );
/* dc1394_free_camera */
dc1394_camera_free( pgcp->pc_cam_p );
}
开发者ID:jbmulligan,项目名称:quip,代码行数:9,代码来源:pgr.c
示例13: Start
void FirewireVideo::Start()
{
if( !running )
{
err=dc1394_video_set_transmission(camera, DC1394_ON);
if( err != DC1394_SUCCESS )
throw VideoException("Could not start camera iso transmission");
running = true;
}
}
开发者ID:WooYoungChoi,项目名称:Pangolin,代码行数:10,代码来源:firewire.cpp
示例14: dc1394_video_set_transmission
FWCamera::~FWCamera()
{
#ifdef AVG_ENABLE_1394_2
dc1394_video_set_transmission(m_pCamera, DC1394_OFF);
dc1394_capture_stop(m_pCamera);
dc1394_camera_free(m_pCamera);
dc1394_free(m_pDC1394);
#endif
AVG_TRACE(Logger::category::CONFIG, Logger::severity::INFO, "Firewire camera closed.");
}
开发者ID:lynxis,项目名称:libavg,代码行数:10,代码来源:FWCamera.cpp
示例15: Stop
FirewireVideo::~FirewireVideo()
{
Stop();
// Close camera
dc1394_video_set_transmission(camera, DC1394_OFF);
dc1394_capture_stop(camera);
dc1394_camera_free(camera);
dc1394_free (d);
}
开发者ID:WooYoungChoi,项目名称:Pangolin,代码行数:10,代码来源:firewire.cpp
示例16: stopClockPulse
void Camera::stop() {
eventLoopTimer->stop();
stopClockPulse();
dc1394_video_set_transmission(camera, DC1394_OFF);
dc1394_capture_stop(camera);
dc1394_camera_free(camera);
dc1394_free (camDict);
emit stopped();
}
开发者ID:NewProggie,项目名称:Realtime-Photometric-Stereo,代码行数:11,代码来源:camera.cpp
示例17: msg
void Libdc1394SequenceGrabber::stop()
{
msg(osg::INFO) << "stop" << std::endl;
setRunning(false);
dc1394error_t err;
err=dc1394_video_set_transmission(_camera, DC1394_OFF);
checkSuccess(err, "dc1394_video_set_transmission failed");
dc1394_capture_stop(_camera);
}
开发者ID:cefix,项目名称:addons,代码行数:11,代码来源:Libdc1394SequenceGrabber.cpp
示例18: dc1394_v2_close
static int dc1394_v2_close(AVFormatContext * context)
{
struct dc1394_data *dc1394 = context->priv_data;
dc1394_video_set_transmission(dc1394->camera, DC1394_OFF);
dc1394_capture_stop(dc1394->camera);
dc1394_camera_free(dc1394->camera);
dc1394_free(dc1394->d);
return 0;
}
开发者ID:248668342,项目名称:ffmpeg-windows,代码行数:11,代码来源:libdc1394.c
示例19: stopThread
//--------------------------------------------------------------------
of1394VideoGrabber::~of1394VideoGrabber()
{
if(!failedToInit) // if the init failed, then trying to do this stuff is a very bad idea
{
stopThread();
ofSleepMillis(200);
dc1394_video_set_transmission(camera, DC1394_OFF);
dc1394_capture_stop(camera);
dc1394_camera_free(camera);
dc1394_free (d);
}
}
开发者ID:Illutron,项目名称:N7331227,代码行数:13,代码来源:of1394VideoGrabber.cpp
示例20: cleanup
void cleanup(void) {
int i;
for (i=0; i < numCameras; i++) {
dc1394_video_set_transmission(cameras[i], DC1394_OFF);
dc1394_capture_stop(cameras[i]);
}
if ((void *)window != NULL)
XUnmapWindow(display,window);
if (display != NULL)
XFlush(display);
if (frame_buffer != NULL)
free( frame_buffer );
}
开发者ID:alesko,项目名称:public-stereo,代码行数:13,代码来源:dc1394_multiview.c
注:本文中的dc1394_video_set_transmission函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论