Opened 18 years ago
Closed 16 years ago
Last modified 16 years ago
#3405 closed enhancement (fixed)
ALSA input for analog capture
Reported by: | anonymous | Owned by: | Janne Grunau |
---|---|---|---|
Priority: | minor | Milestone: | 0.22 |
Component: | mythtv | Version: | head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
Currently, mythtv only supports OSS for analog capture. Since ALSA is the main audio system for Linux (2.6.0+), mythtv should alsa support ALSA capture.
Attachments (8)
Change History (25)
Changed 18 years ago by
Attachment: | mythtv_alsa.patch added |
---|
comment:1 Changed 18 years ago by
Milestone: | unknown → 0.21 |
---|---|
Version: | unknown → head |
OSSAudioInput::OpenDevice?() is broken.
If the device open fails it throws a verbose error but then continues on it's merry way.
It repeatedly checks if (0 <= retval) and while it is reusing retval it just looks plain wrong.
Stuart
comment:2 Changed 18 years ago by
Stuart: You're right, it is broken, but only with respect to logging info. The point of the repeated checking is to give the function a single return point at the end of the function. This way, I only have to do any potential cleanup at one point, at the end. All the 'if (0 <= retval)' is there to make sure further code only executes if everything up until that point is OK. If it's not, it'll be skipped and a return code of < 0 (usually -1) will signify an error. You'll notice all the functions I've wrote are like that inclusing the alsa input. If for some reason this is unacceptable, I can rework the patch to put returns after each error instead of just at the end.
comment:3 Changed 18 years ago by
Owner: | changed from Isaac Richards to danielk |
---|---|
Type: | patch → enhancement |
Changed 18 years ago by
Attachment: | 3405-v1.patch added |
---|
Cleans up error handling, moves from libmythtv to libmyth so mythphone can use it evenually.
comment:4 Changed 18 years ago by
Milestone: | 0.21 → 0.22 |
---|
Changed 17 years ago by
Attachment: | 3405-v2.patch added |
---|
This just updates the patch for the current trunk. It still needs to handle error conditions better.
comment:5 Changed 17 years ago by
Presenting patch alsa_input_3405-v3-trunk-18043:
I've use this patch on three systems for over a year, so I'm interested in it's welfare. This little effort started as a refresh to current trunk, but it sort of morphed beyond that. Perhaps I've addressed some of danielk's concerns over error handling. Subjectively, I believe it holds synch better than anything else I've tried. Objectively, it seems to work ok, and does pretty much all the things it needs to do to perform respectably. Enjoy.
Changed 17 years ago by
Attachment: | alsa_input_3405-v3-trunk-18043.patch.gz added |
---|
comment:7 Changed 16 years ago by
Status: | new → assigned |
---|
comment:8 Changed 16 years ago by
Owner: | changed from danielk to Janne Grunau |
---|---|
Status: | assigned → accepted |
comment:9 Changed 16 years ago by
3405-v5 refresh to 19944, some tweaks & tidies, and reinstate alsa device selection (it fell off).
comment:10 Changed 16 years ago by
Any update on this?
Kernels built without OSS support are becoming more common (like in Fedora 11) so it's an actual problem now.
comment:11 Changed 16 years ago by
And software-based analogue capture cards are becoming less common, antiquated tech ...
Actually that's an understatement, they were surpassed by hardware capture cards years ago.
comment:12 Changed 16 years ago by
Maybe so, but I have such a card and I'm not afraid to use it. ;)
I'm compiling svn+patch now, to test it.
comment:14 Changed 16 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
(In [21448]) adds alsa audio input to analog cards. Fixes #3405
factors the audio device handling code out of NuppelVideoRecorder? into a AudioInput? class with OSS and new ALSA implementation.
based on patches by: Alan Calvert, Anand K. Mistry and Daniel Kristjansson
Patch for alsa capture