Re: new to g_signal_connect
- From: Charles <chp516 gmail com>
- To: "James Liggett" <jrliggett cox net>
- Cc: cheese-list gnome org
- Subject: Re: new to g_signal_connect
- Date: Sat, 11 Oct 2008 16:48:19 +0800
Hi James,
On Sat, Oct 11, 2008 at 3:39 PM, James Liggett <jrliggett cox net> wrote:
> Hi Charles,
>
> If I may ask, what exactly are you planning to do here? If all you want
> to do is write code to take a picture, that's pretty easy. All you have
> to do is connect your handler to the handoff signal when you're ready to
> snap it, and then disconnect as soon as you've done what you need to do
> with it.
>
> HTH,
> James
I think I did what you told me. I wrote a main for cheese-webcam.c like this:
int
main(int argc, char *argv[])
{
CheeseWebcam* webcam;
CheeseWebcamPrivate* priv;
int k;
gst_init(NULL, NULL);
webcam = cheese_webcam_new (NULL, NULL);
cheese_webcam_setup (webcam);
priv = CHEESE_WEBCAM_GET_PRIVATE (webcam);
cheese_webcam_init (webcam);
/* I changed the mimetype because libpng has a better interface */
cheese_webcam_take_photo (webcam, "image.png");
while (k < 100) {
g_signal_emit_by_name (priv->photo_sink, "handoff");
/*
* I have another program which periodically takes care of
* the image.png. And this is just a test program.
*/
sleep(20);
k++;
}
exit (0);
}
I discarded all other files because I don't need them. But when I run it,
I get a SIGSEGV. When I trace into the programme. This error is caused by
passing a NULL pointer to GstBuffer *buffer.
ps: Before I posted here I tried the function gst_base_sink_get_last_buffer,
I got the same result.
Thank you for your hint. But I'm in a new trouble. Any suggestions?
--
Charles
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]