Mercurial > pidgin.yaz
comparison pidgin/gtkmedia.c @ 26424:0c96ac2ea5f8
Remove purple_media_video_init_* functions.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Sun, 22 Mar 2009 22:49:10 +0000 |
parents | dd45432d6b69 |
children | 722527dc050f |
comparison
equal
deleted
inserted
replaced
26423:d01fb18be4d2 | 26424:0c96ac2ea5f8 |
---|---|
834 } | 834 } |
835 | 835 |
836 static GstElement * | 836 static GstElement * |
837 create_default_video_src(void) | 837 create_default_video_src(void) |
838 { | 838 { |
839 GstElement *ret = NULL; | 839 GstElement *sendbin, *src, *videoscale, *capsfilter; |
840 purple_media_video_init_src(&ret); | 840 GstPad *pad; |
841 return ret; | 841 GstPad *ghost; |
842 GstCaps *caps; | |
843 const gchar *video_plugin = purple_prefs_get_string( | |
844 "/purple/media/video/plugin"); | |
845 const gchar *video_device = purple_prefs_get_string( | |
846 "/purple/media/video/device"); | |
847 | |
848 sendbin = gst_bin_new("purplesendvideobin"); | |
849 src = gst_element_factory_make(video_plugin, "purplevideosource"); | |
850 videoscale = gst_element_factory_make("videoscale", NULL); | |
851 capsfilter = gst_element_factory_make("capsfilter", NULL); | |
852 | |
853 /* It was recommended to set the size < 352x288 and framerate < 20 */ | |
854 caps = gst_caps_from_string("video/x-raw-yuv , width=[250,350] , " | |
855 "height=[200,275] , framerate=[10/1,20/1]"); | |
856 g_object_set(G_OBJECT(capsfilter), "caps", caps, NULL); | |
857 | |
858 gst_bin_add_many(GST_BIN(sendbin), src, | |
859 videoscale, capsfilter, NULL); | |
860 gst_element_link_many(src, videoscale, capsfilter, NULL); | |
861 | |
862 if (!strcmp(video_plugin, "videotestsrc")) { | |
863 /* Set is-live to true to throttle videotestsrc */ | |
864 g_object_set (G_OBJECT(src), "is-live", TRUE, NULL); | |
865 } | |
866 | |
867 pad = gst_element_get_static_pad(capsfilter, "src"); | |
868 ghost = gst_ghost_pad_new("ghostsrc", pad); | |
869 gst_object_unref(pad); | |
870 gst_element_add_pad(sendbin, ghost); | |
871 | |
872 if (video_device != NULL && strcmp(video_device, "")) | |
873 g_object_set(G_OBJECT(src), "device", video_device, NULL); | |
874 | |
875 return sendbin; | |
842 } | 876 } |
843 | 877 |
844 static GstElement * | 878 static GstElement * |
845 create_default_video_sink(void) | 879 create_default_video_sink(void) |
846 { | 880 { |
847 GstElement *ret = NULL; | 881 return gst_element_factory_make("autovideosink", NULL); |
848 purple_media_video_init_recv(&ret); | |
849 return ret; | |
850 } | 882 } |
851 | 883 |
852 static GstElement * | 884 static GstElement * |
853 create_default_audio_src(void) | 885 create_default_audio_src(void) |
854 { | 886 { |