[Bug 613487] [ogg] films recorded with cheese won't play if they have audio
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Thu Apr 14 00:54:24 PDT 2011
https://bugzilla.gnome.org/show_bug.cgi?id=613487
GStreamer | gst-plugins-base | git
--- Comment #16 from Gary Ching-Pang Lin <glin at novell.com> 2011-04-14 07:54:20 UTC ---
The video recording bits lie within cheese-camera.c:
http://git.gnome.org/browse/cheese/tree/libcheese/cheese-camera.c?h=gnome-2-32
Cheese creates 4 bins: video_display_bin, camera_source_bin, photo_save_bin,
and video_save_bin. video_display_bin and camera_source_bin are for the webcam
input/output and basically won't be changed in the most of time.
photo_save_bin and video_save_bin are for picture taking and video recording.
Cheese links photo_save_bin by default. When the user presses the video
recording button, cheese_camera_start_video_recording() will be invoked, and it
changes the filename in video_file_sink and calls cheese_camera_change_sink()
to switch photo_save_bin to video_save_bin. When the user presses "Stop
Recording", cheese_camera_change_sink() will be called again and switches
video_save_bin back to photo_save_bin.
static void
cheese_camera_change_sink (CheeseCamera *camera, GstElement *src,
GstElement *new_sink, GstElement *old_sink)
{
CheeseCameraPrivate *priv = CHEESE_CAMERA_GET_PRIVATE (camera);
gboolean is_playing = priv->pipeline_is_playing;
cheese_camera_stop (camera);
gst_element_unlink (src, old_sink);
gst_object_ref (old_sink);
gst_bin_remove (GST_BIN (priv->pipeline), old_sink);
gst_bin_add (GST_BIN (priv->pipeline), new_sink);
gst_element_link (src, new_sink);
if (is_playing)
cheese_camera_play (camera);
}
cheese_camera_change_sink() just changes the state of the pipeline and switch
the sinks. Wonder if the change of video_file_sink affects video_save_bin.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list