Merge lp:~yuningdodo/gnome-media/fix-missing-eos-in-sound-recording into lp:gnome-media

Proposed by Yu Ning
Status: Needs review
Proposed branch: lp:~yuningdodo/gnome-media/fix-missing-eos-in-sound-recording
Merge into: lp:gnome-media
Prerequisite: lp:ubuntu/quantal/gnome-media
Diff against target: 41 lines (+14/-11) (has conflicts)
1 file modified
grecord/src/gsr-window.c (+14/-11)
Conflict adding file AUTHORS.  Moved existing file to AUTHORS.moved.
Conflict adding file COPYING-DOCS.  Moved existing file to COPYING-DOCS.moved.
Conflict adding file COPYING.grecord.  Moved existing file to COPYING.grecord.moved.
Conflict adding file COPYING.gst-mixer.  Moved existing file to COPYING.gst-mixer.moved.
Conflict adding file COPYING.  Moved existing file to COPYING.moved.
Conflict adding file ChangeLog.pre-2-26.  Moved existing file to ChangeLog.pre-2-26.moved.
Conflict adding file MAINTAINERS.  Moved existing file to MAINTAINERS.moved.
Conflict adding file Makefile.am.  Moved existing file to Makefile.am.moved.
Conflict adding file NEWS.  Moved existing file to NEWS.moved.
Conflict adding file README.  Moved existing file to README.moved.
Conflict adding file autogen.sh.  Moved existing file to autogen.sh.moved.
Conflict adding file build-aux.  Moved existing file to build-aux.moved.
Conflict adding file configure.ac.  Moved existing file to configure.ac.moved.
Conflict adding file grecord.  Moved existing file to grecord.moved.
Conflict adding file gst-mixer.  Moved existing file to gst-mixer.moved.
Conflict adding file gstreamer-properties.  Moved existing file to gstreamer-properties.moved.
Conflict adding file m4.  Moved existing file to m4.moved.
Conflict adding file po.  Moved existing file to po.moved.
Conflict adding file sound-theme.  Moved existing file to sound-theme.moved.
To merge this branch: bzr merge lp:~yuningdodo/gnome-media/fix-missing-eos-in-sound-recording
Reviewer Review Type Date Requested Status
VCS imports Pending
Review via email: mp+130283@code.launchpad.net

This proposal supersedes a proposal from 2012-10-18.

Description of the change

Hi,

I am trying to fix bug #412738.

The sound recorder does file switching in 'message::eos' handler during recording, but the message is not generated at all. We could fix this by send the message manually when stopped by user, as described in [1].

Please has a review and tell me to improve it.

Thanks
Ning

[1]. http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSrc.html#GstBaseSrc.description

To post a comment you must log in.

Unmerged revisions

91. By Yu Ning

Fix the problem that message::eos is missed after recording in sound recorder. (LP: #412738)

90. By Sebastien Bacher

* debian/patches/git_play_after_second_record.patch:
  - "Properly reinitialize when starting a new recording",
     should fix playing of records after the first saved one,
     thanks James M Leddy (lp: #1011436)

89. By Robert Ancell

* debian/control:
  - Drop dependency on liblaunchpad-integration-3.0-dev
* debian/patches/01_lpi.patch:
  - Dropped, we no longer do Launchpad integration

88. By Sebastien Bacher

* debian/patches/04_grecord_uses_gcc.patch:
  - under unity use the new sound capplet

87. By Robert Ancell

* New upstream release:
  - Translation updates
* debian/patches/10_missing_includes.patch:
  - Applied upstream

86. By Sebastien Bacher

Rebuild with new pkgbinarymangle to fix md5sum issues (lp: #936368)

85. By Sebastien Bacher

Rebuild with the newest pkgbinarymangler (lp: #913085)

84. By Sebastien Bacher

Rebuild with fixed pkgbinarymangler (lp: #913085)

83. By Sebastien Bacher

* debian/control.in:
  - recommends gnome-control-center since grecords calls it
  - updated description, there is no mixer there
  - updated the dpkg build-depends, use "Pre-Depends: ${misc:Pre-Depends}"
* debian/gnome-media.maintscript:
  - clean the deprecated autostart for the sound control
* debian/patches/04_grecord_uses_gcc.patch:
  - grecord should call gnome-control-center not the deprecated g-v-c
    (lp: #883791)

82. By Sebastien Bacher

* Resynchronize on Debian, remaining difference:
* debian/control:
  - Build-depend on liblaunchpad-integration-3.0-dev
* debian/patches/01_lpi.patch:
  - Launchpad integration
* debian/patches/02_better_record_titles.patch:
  - "Use names based on date instead of wort "Untitled"."
* debian/patches/03_set_pulse_role.patch:
  - set the pulse media role for the indicator sound controls

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'grecord/src/gsr-window.c'
2--- grecord/src/gsr-window.c 2012-10-18 05:04:21 +0000
3+++ grecord/src/gsr-window.c 2012-10-18 05:04:23 +0000
4@@ -1281,17 +1281,8 @@
5 GST_DEBUG ("Stopping play pipeline");
6 set_pipeline_state_to_null (priv->play->pipeline);
7 } else if (priv->record && priv->record->state == GST_STATE_PLAYING) {
8- GST_DEBUG ("Stopping recording source");
9- /* GstBaseSrc will automatically send an EOS when stopping */
10- gst_element_set_state (priv->record->src, GST_STATE_NULL);
11- gst_element_get_state (priv->record->src, NULL, NULL, -1);
12- gst_element_set_locked_state (priv->record->src, TRUE);
13-
14- GST_DEBUG ("Stopping recording pipeline");
15- set_pipeline_state_to_null (priv->record->pipeline);
16- gtk_widget_set_sensitive (window->priv->level, FALSE);
17- gtk_widget_set_sensitive (window->priv->volume_label, FALSE);
18- gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (window->priv->level), 0.0);
19+ GST_DEBUG ("Sending EOS to recording pipeline");
20+ gst_element_send_event (priv->record->pipeline, gst_event_new_eos ());
21 }
22 }
23
24@@ -1683,6 +1674,18 @@
25
26 GST_DEBUG ("EOS. Finished recording");
27
28+ GST_DEBUG ("Stopping recording source");
29+ /* GstBaseSrc will automatically send an EOS when stopping */
30+ gst_element_set_state (window->priv->record->src, GST_STATE_NULL);
31+ gst_element_get_state (window->priv->record->src, NULL, NULL, -1);
32+ gst_element_set_locked_state (window->priv->record->src, TRUE);
33+
34+ GST_DEBUG ("Stopping recording pipeline");
35+ set_pipeline_state_to_null (window->priv->record->pipeline);
36+ gtk_widget_set_sensitive (window->priv->level, FALSE);
37+ gtk_widget_set_sensitive (window->priv->volume_label, FALSE);
38+ gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (window->priv->level), 0.0);
39+
40 /* FIXME: this was READY before (why?) */
41 set_pipeline_state_to_null (window->priv->record->pipeline);
42

Subscribers

People subscribed via source and target branches

to all changes: