hornetseye-alsa 1.2.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/ext/alsainput.cc +7 -12
- data/ext/alsainput.hh +1 -1
- metadata +3 -3
data/Rakefile
CHANGED
data/ext/alsainput.cc
CHANGED
@@ -130,6 +130,10 @@ void AlsaInput::drop(void) throw (Error)
|
|
130
130
|
m_count = 0;
|
131
131
|
snd_pcm_drop(m_pcmHandle);
|
132
132
|
unlock();
|
133
|
+
if (m_threadInitialised) {
|
134
|
+
pthread_join(m_thread, NULL);
|
135
|
+
m_threadInitialised = false;
|
136
|
+
}
|
133
137
|
}
|
134
138
|
|
135
139
|
unsigned int AlsaInput::rate(void)
|
@@ -185,15 +189,6 @@ void AlsaInput::unlock(void)
|
|
185
189
|
pthread_mutex_unlock( &m_mutex );
|
186
190
|
}
|
187
191
|
|
188
|
-
void AlsaInput::prepare(void) throw (Error)
|
189
|
-
{
|
190
|
-
ERRORMACRO( m_pcmHandle != NULL, Error, , "PCM device \"" << m_pcmName
|
191
|
-
<< "\" is not open. Did you call \"close\" before?" );
|
192
|
-
int err = snd_pcm_prepare( m_pcmHandle );
|
193
|
-
ERRORMACRO( err >= 0, Error, , "Error preparing PCM device \"" << m_pcmName
|
194
|
-
<< "\": " << snd_strerror( err ) );
|
195
|
-
}
|
196
|
-
|
197
192
|
void AlsaInput::threadFunc(void)
|
198
193
|
{
|
199
194
|
bool quit = false;
|
@@ -247,7 +242,7 @@ VALUE AlsaInput::registerRubyClass( VALUE rbModule )
|
|
247
242
|
rb_define_method( cRubyClass, "rate", RUBY_METHOD_FUNC( wrapRate ), 0 );
|
248
243
|
rb_define_method( cRubyClass, "channels", RUBY_METHOD_FUNC( wrapChannels ), 0 );
|
249
244
|
rb_define_method( cRubyClass, "avail", RUBY_METHOD_FUNC( wrapAvail ), 0 );
|
250
|
-
rb_define_method( cRubyClass, "
|
245
|
+
rb_define_method( cRubyClass, "drop", RUBY_METHOD_FUNC( wrapDrop ), 0 );
|
251
246
|
}
|
252
247
|
|
253
248
|
void AlsaInput::deleteRubyObject( void *ptr )
|
@@ -315,11 +310,11 @@ VALUE AlsaInput::wrapAvail( VALUE rbSelf )
|
|
315
310
|
return rbRetVal;
|
316
311
|
}
|
317
312
|
|
318
|
-
VALUE AlsaInput::
|
313
|
+
VALUE AlsaInput::wrapDrop( VALUE rbSelf )
|
319
314
|
{
|
320
315
|
try {
|
321
316
|
AlsaInputPtr *self; Data_Get_Struct( rbSelf, AlsaInputPtr, self );
|
322
|
-
(*self)->
|
317
|
+
(*self)->drop();
|
323
318
|
} catch ( exception &e ) {
|
324
319
|
rb_raise( rb_eRuntimeError, "%s", e.what() );
|
325
320
|
};
|
data/ext/alsainput.hh
CHANGED
@@ -47,7 +47,7 @@ public:
|
|
47
47
|
static VALUE wrapRate( VALUE rbSelf );
|
48
48
|
static VALUE wrapChannels( VALUE rbSelf );
|
49
49
|
static VALUE wrapAvail( VALUE rbSelf );
|
50
|
-
static VALUE
|
50
|
+
static VALUE wrapDrop( VALUE rbSelf );
|
51
51
|
protected:
|
52
52
|
void readi(short int *data, int count);
|
53
53
|
void threadFunc(void);
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hornetseye-alsa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
-
|
8
|
+
- 3
|
9
9
|
- 0
|
10
|
-
version: 1.
|
10
|
+
version: 1.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jan Wedekind
|