Opened 10 years ago

Closed 9 years ago

Last modified 6 years ago

#1244 closed defect (fixed)

Record 64 does not record sound

Reported by: mavrothal Owned by: alsroot
Priority: Urgent Milestone:
Component: Record Version: 0.84.x
Severity: Blocker Keywords:
Cc: richar.saucedo@…, bernie, tch, cgaray Distribution/OS: OLPC
Bug Status: Needinfo

Description

Record 64 does _not_ record sound with F11-XO1/os6 builds on an OLPC-XO1 (also the case in os5). Use of an external mic does not solve the problem.
The recording of a clip ("silent") is not saved at the bottom strip.
Mic is fine (tested with pass-through from ASLAMIXER and with Skype)

Log attached

Attachments (2)

record.log (1.3 KB) - added by mavrothal 10 years ago.
Record.log (7.9 KB) - added by mavrothal 9 years ago.

Download all attachments as: .zip

Change History (53)

Changed 10 years ago by mavrothal

comment:1 Changed 9 years ago by sascha_silbe

Under F11-XO1/os9 running sugar 0.84.7 Record 64 can record, playback and keep sound files
(Also selected the "resolve as" button but even with out this the posting is still rejected with the same message. Preview is fine)

comment:2 Changed 9 years ago by sascha_silbe

Last comment relayed from reporter (mavrothal) as his post was rejected as SPAM.

comment:3 follow-up: Changed 9 years ago by mavrothal

  • Resolution set to fixed
  • Status changed from new to closed

comment:4 in reply to: ↑ 3 Changed 9 years ago by bernie

  • Resolution fixed deleted
  • Status changed from closed to reopened

Replying to mavrothal:

Where is this fix? Version 64 is still the latest one on a.sl.o and still contains this bug.

comment:5 Changed 9 years ago by bernie

  • Cc richar.saucedo@… added

comment:6 Changed 9 years ago by bernie

Trac was not sending email a few days ago. Please, have a look at this bug.

comment:7 Changed 9 years ago by bernie

  • Cc bernie added

comment:8 follow-up: Changed 9 years ago by alsroot

  • Bug Status changed from Unconfirmed to Needinfo

Just tested on XO-1(0.82) and on my gentoo box(0.84), Record-64 record sound well. According to log, looks like it is not Record related issue.

Does "gst-launch-0.10 alsasrc ! audio/x-raw-int,rate=16000,channels=1,depth=16 ! wavenc ! decodebin ! autoaudiosink" sounds something?

comment:9 in reply to: ↑ 8 Changed 9 years ago by mavrothal

Replying to alsroot:

Does "gst-launch-0.10 alsasrc ! audio/x-raw-int,rate=16000,channels=1,depth=16 ! wavenc ! decodebin ! autoaudiosink" sounds something?

Yes it does. The microphone works fine (also with measure).
Tested again on F11-XO1/os11.
In this version the log actually shows no errors but only the No gtk.AccelGroup and the sha module depreciation warnings.

comment:10 follow-up: Changed 9 years ago by bernie

Can you try to reproduce this bug on an XO-1 with this OS version?

http://people.sugarlabs.org/bernie/olpc/py-xo1/

comment:11 Changed 9 years ago by bernie

Transcription from #fedora-desktop on GIMPNet:

<bernie> Company: hello, I have a gstreamer bug on F11, can you help me out?
<bernie> Company: this command line works fine in F-12, results in "jerky" sound on F-11:
<bernie> gst-launch-0.10 alsasrc ! audio/x-raw-int,rate=16000,channels=1,depth=16 ! wavenc ! decodebin ! autoaudiosink
<hadess> bernie: F11 is quite old, and soon won't be supported, F-12 has updated gstreamer packages
<bernie> hadess: shall I try to backport the version in F12 to F11 to see if it fixes my bug?
<hadess> bernie: the kernel and pulseaudio might also be the cause of the problem
<bernie> hadess: I can't upgrade, this is for OLPC. they are starting to deploy F11 next month or so :-)
<hadess> bernie: so i'm not sure whether it's such a good use of your time...
<hadess> right
<hadess> trying the backporting then, and poke Company if it fixes it
<bernie> hadess: OLPC froze on F11 way too early, now we're too close to deployment and can't rebase on F12 any more :-(
<Company> bernie: i don't know anything about F11, so if you fix things i'm all for it :)
<Company> otoh i'm not yet sure if stuff might break when you upgrade gstreamer to F12
<Company> there's quite some versions inbetween and there might of course be litle nasties hidden
<bernie> Company: :-/
<bernie> Company: are you also an upstream gstreamer developer? do you remember fixing a bug like this?
<Company> bernie: i'm getting back into upstream development, but i'm not up-to-date enough for knowing stuff like that
<bernie> Company: ok, I'm building a backported gstreamer package in koji for testing: http://koji.fedoraproject.org/koji/taskinfo?taskID=2058830

comment:12 in reply to: ↑ 10 ; follow-up: Changed 9 years ago by alsroot

Replying to bernie:

Can you try to reproduce this bug on an XO-1 with this OS version?

http://people.sugarlabs.org/bernie/olpc/py-xo1/

checked this os67.img and it works fine (found another issue w/ second recording session, but it is another issue I'm going to fix) in video and audio modes

comment:13 follow-up: Changed 9 years ago by mavrothal

Couldn't check because my camera (ribbon) is lose again, but this brings up a related design problem.
When the camera has a problem sound recording does not work either! Shouldn't they be independent?

comment:14 in reply to: ↑ 12 ; follow-up: Changed 9 years ago by alsroot

Replying to alsroot:

Replying to bernie:

Can you try to reproduce this bug on an XO-1 with this OS version?

http://people.sugarlabs.org/bernie/olpc/py-xo1/

checked this os67.img and it works fine (found another issue w/ second recording session, but it is another issue I'm going to fix) in video and audio modes

looks like I flashed 0.82 :/, I'm trying to flash os67..

comment:15 in reply to: ↑ 13 Changed 9 years ago by alsroot

Replying to mavrothal:

Couldn't check because my camera (ribbon) is lose again, but this brings up a related design problem.
When the camera has a problem sound recording does not work either! Shouldn't they be independent?

it was planed to support audio recording in camera less environment, I'll recheck this as well

comment:16 in reply to: ↑ 14 Changed 9 years ago by mavrothal

Replying to alsroot:

looks like I flashed 0.82 :/, I'm trying to flash os67..

Replying to alsroot:

it was planed to support audio recording in camera less environment, I'll recheck this as well

Wel, I did used os67, and there the audio recording also fails, but as I said no camera. So is either the one or the other.

comment:17 follow-up: Changed 9 years ago by alsroot

  • Resolution set to duplicate
  • Status changed from reopened to closed

I didn't manage to fast fix this and over gst related issues, and don't see other way except recreate-entirely-gst-stuff-on-every-operation thus not trivial refactoring. And decided to switch to gst camerabin plugin. Bundle will contain recent gst stack (camerabin is gst-bad plugin and tied to other bad and recent gst code).

Dup of #1847, please recheck this issue in v65 which appear after closing #1847

comment:18 in reply to: ↑ 17 Changed 9 years ago by cgaray

I did: gst-launch-0.10 alsasrc ! audio/x-raw-int,rate=16000,channels=1,depth=16 ! wavenc ! decodebin ! autoaudiosink on ubuntu 9.10 with 2.28.1-0ubuntu1 Glib wrapper library for PKCS#11. Also fails.

comment:19 Changed 9 years ago by bernie

  • Cc tch cgaray added

Yeah, it's definitely not a gstreamer bug: yesterday we built gstreamer 0.10.28 packages for Fedora 11, including gstreamer-plugins-base and gstreamer-plugins-good. Same bug.

It works fine on my F12 laptop (gstreamer 0.10.28), it breaks on a netbook running Ubuntu Karmic (gstreamer 0.10.28 too). It may be the alsa library or the kernel driver.

comment:20 Changed 9 years ago by bernie

Reopening as this can't be fixed as proposed in #1847.

comment:21 follow-up: Changed 9 years ago by bernie

  • Resolution duplicate deleted
  • Status changed from closed to reopened

cjb reproduced it on the XO-1.5:

<cjb> _bernie: I did your test
<cjb> _bernie: it works without the audio/x.. segment, but not with it
<cjb> (sounds crackly and repetitive)
<cjb> _bernie: works if I change rate=16000 to rate=44100

So maybe we could just cheat and bump the sampling rate to 44100 instead of fixing the bug properly?

comment:22 Changed 9 years ago by bernie

comment:23 in reply to: ↑ 21 Changed 9 years ago by alsroot

Replying to bernie:

cjb reproduced it on the XO-1.5:

<cjb> _bernie: I did your test
<cjb> _bernie: it works without the audio/x.. segment, but not with it
<cjb> (sounds crackly and repetitive)
<cjb> _bernie: works if I change rate=16000 to rate=44100

So maybe we could just cheat and bump the sampling rate to 44100 instead of fixing the bug properly?

If it is audio caps problem then this command should work better:
gst-launch-0.10 alsasrc ! audioconvert ! wavenc ! filesink location=foo.wav, is wav file correct?

comment:24 Changed 9 years ago by bernie

We got a response from the gstreamer folks: https://bugzilla.gnome.org/show_bug.cgi?id=613852#c1

What do you think?

comment:25 Changed 9 years ago by bernie

  • Priority changed from Unspecified by Maintainer to Urgent

comment:26 Changed 9 years ago by bernie

  • Milestone changed from Unspecified by Release Team to 0.84

comment:27 Changed 9 years ago by alsroot

The problem w/ current only-audio-capture mode is that XO cant handle input and drops buffers like gst-launch-0.10 alsasrc ! queue ! audioconvert ! vorbisenc ! oggmux ! filesink location=foo.ogg.

I added capsfilter to restrict stream gst-launch-0.10 alsasrc ! queue ! audio/x-raw-int,rate=16000,channels=1,depth=16 ! audioconvert ! vorbisenc ! oggmux ! filesink location=foo.ogg and it works fine in command line but in Record it drops buffers anyway (I also tried speex that is less CPU eater but couldn't remove all drops). Current code works fine in fc9 but looks like in fc11 it requires more CPU resources.

So, the question is how it is critical to have some fix right now, it could be

1) remove audio mode at all (until #1847)
2) use two-phases for audio encoding like for vide
3) #1847

To be honest, since I'm working on #1847, I'm not so eager to do invasive fixe like 2) - it will be thrown out while implementing #1847

comment:28 follow-up: Changed 9 years ago by bernie

Teacher trainers have been complaining very loudly for the audio recording function in Record. I don't know what it is being used for, but it seems very important to them. This rules out (1).

As for (2), I guess it would be good to perform audio and video encoding in the same way, to share the same bugs.

I don't know the technical details of (3): how would it solve this bug?

comment:29 in reply to: ↑ 28 Changed 9 years ago by alsroot

Replying to bernie:

Teacher trainers have been complaining very loudly for the audio recording function in Record. I don't know what it is being used for, but it seems very important to them. This rules out (1).

As for (2), I guess it would be good to perform audio and video encoding in the same way, to share the same bugs.

I'm afraid that (2) could only add new bugs.

I don't know the technical details of (3): how would it solve this bug?

It will be

  • do not restart v4l on every action in Record (start/stop capture/view)
  • camerabin will make internal switches to make view-to-capture phases smoother e.g. video output won't blink and will show current v4l output all time
  • camerabin doesn't support two-phases encoding like Record does for video capturing, but I tested speex codec on XO and one phase encoding works fine thus we can remove IO traffic when we had to save raw sound then encode it then copy video from one place to another.
  • while coding last gst related refactoring, I didn't have XO. For now, I'm planing to implement special mode for restricted systems to remove redundant modes(e.g. video quality) and some gst filters like videoscale

comment:30 Changed 9 years ago by alsroot

  • Resolution set to fixed
  • Status changed from reopened to closed

Unfortunately I missed one thing about camerabin, I was planing to use 176x144 camera resolution to use one phase video capturing (camerabin can produce only final video file with video and audio encoded) but in such resolution, captured video region is smaller and pretty useless.

So, I postponed switching to camerabin and fixed just this issue in current code.

http://git.sugarlabs.org/projects/record/repos/mainline/commits/e93a2bc44827060e1b9608770c8b42a0b2d7bfe3

comment:31 follow-up: Changed 9 years ago by bernie

ROCK!

When are you releasing a new bundle?

comment:32 in reply to: ↑ 31 Changed 9 years ago by alsroot

Replying to bernie:

ROCK!

When are you releasing a new bundle?

it was already released, v65

comment:33 Changed 9 years ago by tch

Tested on Build 119py and works great :)

comment:34 Changed 9 years ago by mavrothal

This may not be the typical case, but in my XO-1, (CL1 os13 q2e42d) that has a broken camera, (lose ribbon, light comes on but no image. OFW test reports as broken)sound recording still does _not_ work with v65. Mic light does not even comes up. Mic ok with other apps.

comment:35 follow-up: Changed 9 years ago by bernie

Works well in os129py.

comment:36 follow-up: Changed 9 years ago by bernie

...though the volume is quite low. Aleksey, is there anything we can do about that?

comment:37 in reply to: ↑ 36 Changed 9 years ago by alsroot

Replying to bernie:

...though the volume is quite low. Aleksey, is there anything we can do about that?

In v66, on XO, Record uses volume plugin to increase volume level

comment:38 in reply to: ↑ 35 ; follow-up: Changed 9 years ago by mavrothal

Replying to bernie:

Works well in os129py.

Even with a broken camera? eg are you suggesting that is a os13 vs os129py issue?

comment:39 in reply to: ↑ 38 ; follow-up: Changed 9 years ago by bernie

Replying to mavrothal:

Even with a broken camera? eg are you suggesting that is a os13 vs os129py issue?

A quick test with os129py would tell us if purely a software issue, or if a broken camera can indeed influence audio grabbing.

comment:40 in reply to: ↑ 39 ; follow-ups: Changed 9 years ago by mavrothal

Replying to bernie:

Replying to mavrothal:

Even with a broken camera? eg are you suggesting that is a os13 vs os129py issue?

A quick test with os129py would tell us if purely a software issue, or if a broken camera can indeed influence audio grabbing.

I did and it didn't. mic light still does not come up. mic ok with other apps.
But as I said this may not be the typical case.
Though might not be a bad idea to add audio recording functionality in another activity (measure?) just as an alternative for these cases.
I guess that's a feature request :)

comment:41 in reply to: ↑ 40 ; follow-up: Changed 9 years ago by bernie

Replying to mavrothal:

I did and it didn't. mic light still does not come up. mic ok with other apps.
But as I said this may not be the typical case.
Though might not be a bad idea to add audio recording functionality in another activity (measure?) just as an alternative for these cases.
I guess that's a feature request :)

It's hard to believe that the camera would influence the audio grabbing pipeline. Perhaps your motherboard has two problems, not just one?

Does audio grabbing in Gnome work with Audacity?

comment:42 in reply to: ↑ 40 ; follow-up: Changed 9 years ago by alsroot

Replying to mavrothal:

Replying to bernie:

Replying to mavrothal:

Even with a broken camera? eg are you suggesting that is a os13 vs os129py issue?

A quick test with os129py would tell us if purely a software issue, or if a broken camera can indeed influence audio grabbing.

I did and it didn't. mic light still does not come up. mic ok with other apps.
But as I said this may not be the typical case.
Though might not be a bad idea to add audio recording functionality in another activity (measure?) just as an alternative for these cases.
I guess that's a feature request :)

Record.log for v65+ with SUGAR_LOGGER_LEVEL=debug would be useful to figure out what the problem is.

comment:43 in reply to: ↑ 42 ; follow-up: Changed 9 years ago by mavrothal

Replying to alsroot:

Record.log for v65+ with SUGAR_LOGGER_LEVEL=debug would be useful to figure out what the problem is.

Could you be a bit more descriptive on the howto of that?...

comment:44 in reply to: ↑ 41 Changed 9 years ago by mavrothal

Replying to bernie:

It's hard to believe that the camera would influence the audio grabbing pipeline. Perhaps your motherboard has two problems, not just one?

Does audio grabbing in Gnome work with Audacity?

Perfectly.
Launched from sugar terminal too, just in case

comment:45 in reply to: ↑ 43 ; follow-up: Changed 9 years ago by alsroot

Replying to mavrothal:

Replying to alsroot:

Record.log for v65+ with SUGAR_LOGGER_LEVEL=debug would be useful to figure out what the problem is.

Could you be a bit more descriptive on the howto of that?...

To enable debug mode and where log can be found - http://wiki.sugarlabs.org/go/BugSquad/Get_Logs#Enabling_Sugar_debug_logging
log file for Record is ~/.sugar/default/logs/org.laptop.RecordActivity-*.log

comment:46 in reply to: ↑ 45 ; follow-up: Changed 9 years ago by mavrothal

Replying to alsroot:

To enable debug mode and where log can be found - http://wiki.sugarlabs.org/go/BugSquad/Get_Logs#Enabling_Sugar_debug_logging
log file for Record is ~/.sugar/default/logs/org.laptop.RecordActivity-*.log

Thanks
The attached Record.log file does show several issues with audio, but how this is related to the broken camera?...

Changed 9 years ago by mavrothal

comment:47 in reply to: ↑ 46 ; follow-up: Changed 9 years ago by alsroot

Replying to mavrothal:

Replying to alsroot:

To enable debug mode and where log can be found - http://wiki.sugarlabs.org/go/BugSquad/Get_Logs#Enabling_Sugar_debug_logging
log file for Record is ~/.sugar/default/logs/org.laptop.RecordActivity-*.log

Thanks
The attached Record.log file does show several issues with audio, but how this is related to the broken camera?...

At least I can see audio related errors..

It looks like it is hw issue, does "gst-launch-0.10 alsasrc ! audioconvert ! wavenc ! filesink location=foo.wav" create correct wav?

comment:48 in reply to: ↑ 47 ; follow-up: Changed 9 years ago by mavrothal

Replying to alsroot:

It looks like it is hw issue, does "gst-launch-0.10 alsasrc ! audioconvert ! wavenc ! filesink location=foo.wav" create correct wav?

works fine (both record and playback)
Looked also at /ver/log/messages - dmesg nothing there.
Also audio passes OFW test without any issue

It would appear that audio recording in Record requires sinking with video and if video is not working audio fails too.

comment:49 in reply to: ↑ 48 ; follow-up: Changed 9 years ago by alsroot

Replying to mavrothal:

Replying to alsroot:

It looks like it is hw issue, does "gst-launch-0.10 alsasrc ! audioconvert ! wavenc ! filesink location=foo.wav" create correct wav?

works fine (both record and playback)
Looked also at /ver/log/messages - dmesg nothing there.
Also audio passes OFW test without any issue

It would appear that audio recording in Record requires sinking with video and if video is not working audio fails too.

In video recoding mode, most likely.
In audio recording mode, audio pipe is separate and I dunno why it doesn't work.

comment:50 in reply to: ↑ 49 Changed 9 years ago by mavrothal

Replying to alsroot:

It would appear that audio recording in Record requires sinking with video and if video is not working audio fails too.

In video recoding mode, most likely.
In audio recording mode, audio pipe is separate

Not according to the log. In the specific instance I never attempted to record video. Just opened it, "recorded" a 5sec audio file and closed the activity. Though, was still trying to sink and failed.

comment:51 Changed 6 years ago by godiard

  • Milestone 0.84 deleted

Milestone 0.84 deleted

Note: See TracTickets for help on using tickets.