Canon EOS SDK (EDSDK): no operations after starting live view - edsdk

I am implementing a console application (going to be a dll) that controls a Canon EOS 600D using the EDSDK, implemented in C++.
I can get any function to work, change properties, take photos, start live view, and download live view content following examples from the documentation and sample app.
However, after I start live view, although it works fine, I cannot send any further commands or change any further properties on the camera. So, for example, I can't start autofocus or take a picture once live view is begun, even though these commands work fine otherwise.
The commands send fine (EdsSetPropertyData and EdsSendCommand return 0), but nothing happens. In the sample, you can execute commands after switching to Live View. What gives?

I don't know your code but if you have made a loop for the live view it maybe can't go out so you can't access the rest of your code.
If it is this case try to launch the download of liveview by timer to be able to continue the execution of the code.

Related

How to send a texture with Agora Video SDK for Unity

I'm using the package Agora Video SDK for Unity and I have followed these two tutorials:
https://www.agora.io/en/blog/agora-video-sdk-for-unity-quick-start-programming-guide/
https://docs.agora.io/en/Video/screensharing_unity?platform=Unity
Up to here, it is working fine. The problem is that instead os sharing my screen, I want to send a texture. To do so, I'm loading a png picture and trying to set it to the mTexture you find in the second link. It seems to be working on my computer, but it is like it doesn't arrive to the target computer.
How can I send a texture properly?
Thanks
did you copy every line of the code from the example as is? You may not want to do the ReadPixel part since this reads the screen. You may just read the raw data from your input texture and send it with the PushVideoFrame every update.

Adobe Animate/CreateJS - this.myMovieClip.stop(); not working - no error in console

I'm just getting started in Adobe Animate/CreateJS. I'm trying to control the timeline of a movie clip ("myMovieClip") on frame 1 on the main stage, preventing it from playing. According to the documentation, this should work:
this.myMovieClip.stop();
But it does not... the movie "myMovieClip" clip plays immediately on test in the browser, and I'm not getting any error love from the console. It's as if the above line of code wasn't even there.
This seems pretty basic. What am I missing? I ultimately want to stop all movie clips on the main timeline as well as a large group of nested ones. If there's a single command that does this, I'd love to hear about it.
I am fairly certain this is related to a bug in the Adobe Animate output that makes MovieClip timelines not immediately available.
You can get around this by forcing an update before you try to access the children:
this.gotoAndStop(0); // Forces update
this.myMovieClip.stop();
Hope that helps!

Editing Video Effects panel on VLC for Mac

Ok so this question is actually in two parts.
I coded a video filter for VLC and I would like to add a control to the Video Effects panel on the OS X UI. So far I've been able to link my plugin the the UI by hijacking one of the existing controls, but this isn't ideal.
Now, if I open up the Xcode project (I'm running Xcode 6.3.1) and try to open the VideoEffect.xib file, I get the following error:
I tried to google this but it sounds like the only alternative would be to play archaeologist and dig up an old copy of Xcode 3. Is there any other way to be able to open this file and edit it somehow? I tried to look at the XML code but if I started to change that I'd do more damage than good.
The second thing I'd like to do is sending back values from the effect module to the UI. At the moment (by hijacking one of the existing sliders), all I can do is read a value from the panel with
config_ChainParse(p_filter, FILTER_PREFIX, ppsz_filter_options, p_filter->p_cfg);
p_filter->p_sys->i_factor = var_CreateGetIntegerCommand(p_filter, FILTER_PREFIX "factor");
and then, inside the callback function:
p_sys->i_factor = VLC_CLIP( newval.i_int, 0, 255 );
However, I haven't been able to write back the value. I'd like the filter to set p_sys->i_factor to a random value at start. This works (using var_SetInteger()), but it isn't reflected in the position of the slider in the Video Effect panel. I suspect I need to hack a bit deeper for that. Any ideas?
Regarding your first question with the xib-file. Consider downloading and using our forthcoming 3.0 code from git://git.videolan.org/vlc.git - it allows editing of said file without Xcode 3.
Regarding your second question, why would you want your video filter to interfere with the UI? This is not how the architecture of VLC works and there is no correct way to do it at this point. You would need to edit the core to do another global variable callback to ask the UI to reload the presented filter configuration.
Perhaps, if you give details about what your filter does and what you want to achieve, we find a more supported way :)

I cannot get a QTCaptureSession to Capture when in a Terminal Application

I've got a terminal application that needs to take a webcam picture and then perform some processing on it. I'm having trouble getting it to initialize. There's a fairly complete demo with an app called MyRecorder in the Apple docs that uses QTKit, which I was able to make work fine. I was also able to modify it to grab a single frame instead of a stream.
When I move this to a terminal application, the startRunning of the QTCaptureSession command simply does nothing. There are no errors, and everything reports as successful, but my webcam doesn't light up, and no frames are captured.
Any idea what's going on here? Are there any kind of security restrictions, or other kinds of restrictions that would prevent the QTCaptureSession from working?
So switching to AVFoundation solved my problem. I'm still not certain what the issue is, but for now using AVFoundation seems like the way to go since it was designed to replace QtKit anyways.

Embedded video in WinForms (AxShockwaveFlash)

I have uploaded a couple of tutorial videos in youtube.
In my winforms application (by using the AxShockwaveFlash object) i reproduce the selected video by the user.
AxShockwaveFlash1.LoadMovie(http://www.youtube ..video1)
Here comes the story.
The first time the user selects a video, reproduction works like a charm.
When the user selects to see the second video
AxShockwaveFlash1.LoadMovie(http://www.youtube ..video2)
the ShockwaveFlash continues the reproduction of the first selection
Try to use
AxShockwaveFlash1.Stop();
AxShockwaveFlash1.Movie = "Your source";
AxShockwaveFlash1.Play();
Pattern to avoid leaving flash arguments behind.
Without knowing how you have integrated the video in your form, the method I would do is using a webBrowsercontrol in the form and embed the video in the control.
msdn on webBrowsercontrol
I had encountered this problem and resolved it by changing the Embed property of the Ax object control to False.
I embed the videos via the movie URL each time as follows:
http://www.youtube.com/v/targetmovie&feature=player_embedded
Works a treat
Tamir,
the video is embedded. Not stored locally
This is because your application is loading flash player loader from the cache and then it's loading the real player from the site , finally this yield a security exception.
In internet explorer , in internet options set to check for new versions of the documents each time you visit the page.
You first need to extract the FLV file like here:
Getting an FLV from YouTube in .NET