Codebase list jackd2 / c93f036
Sync to upstream r4036. Adrian Knoth 13 years ago
1 changed file(s) with 146 addition(s) and 32 deletion(s). Raw diff Collapse all Expand all
0 Description: Sync with upstream SVN trunk revision 4024
0 Description: Sync with upstream SVN trunk revision 4036
11 From: Jonas Smedegaard <dr@jones.dk>
22 Forwarded: yes
3 Last-Update: 2010-06-17
3 Last-Update: 2010-07-30
44 --- a/ChangeLog
55 +++ b/ChangeLog
6 @@ -19,194 +19,263 @@
6 @@ -19,194 +19,274 @@
77 Florian Faber
88 Michael Voigt
99 Torben Hohn
1616 +Devin Anderson
1717 +Josh Green
1818 Mario Lang
19 +Arnold Krille
19 +Arnold Krille
20 +Jan Engelhardt
21 +Adrian Knoth
2022
2123 ---------------------------
2224 Jackdmp changes log
2426 +---------------------------
2527
2628 -2010-01-29 Gabriel M. Beddingfield <gabriel@teuton.org>
29 +2010-07-07 Stephane Letz <letz@grame.fr>
30
31 - * Change JackEngineProfiling and JackAudioAdapterInterface gnuplot scripts to output SVG instead of PDF.
32 + * Jan Engelhardt patch for get_cycles on SPARC.
33 + * Adrian Knoth hurd.patch, kfreebsd-fix.patch and alpha_ia64-sigsegv.patch from ticket 177.
34
35 -2009-12-15 Stephane Letz <letz@grame.fr>
36 +2010-06-29 Stephane Letz <letz@grame.fr>
37
38 - * Shared memory manager was calling abort in case of fatal error, now return an error in caller.
39 + * Arnold Krille firewire snooping patch.
40
41 -2009-12-13 Stephane Letz <letz@grame.fr>
2742 +2010-06-16 Stephane Letz <letz@grame.fr>
2843
29 - * Change JackEngineProfiling and JackAudioAdapterInterface gnuplot scripts to output SVG instead of PDF.
44 - * Mario Lang alsa_io time calculation overflow patch.
3045 + * David Garcia Garzon unused_pkt_buf_field_jack2 netone patch.
3146
32 -2009-12-15 Stephane Letz <letz@grame.fr>
47 -2009-12-10 Stephane Letz <letz@grame.fr>
3348 +2010-06-13 Stephane Letz <letz@grame.fr>
3449
35 - * Shared memory manager was calling abort in case of fatal error, now return an error in caller.
50 - * Use a QUIT notification to properly quit the server channel, the server channel thread can then be 'stopped' instead of 'canceled'.
3651 + * Fix JackPosixSemaphore::TimedWait : same behavior as JackPosixSemaphore::Wait regarding EINTR.
3752
38 -2009-12-13 Stephane Letz <letz@grame.fr>
53 -2009-12-09 Stephane Letz <letz@grame.fr>
3954 +2010-05-31 Stephane Letz <letz@grame.fr>
4055
41 - * Mario Lang alsa_io time calculation overflow patch.
56 - * When threads are cancelled, the exception has to be rethrown.
4257 + * Fix from Fernando Lopez-Lezcano for compilation on fc13.
4358
44 -2009-12-10 Stephane Letz <letz@grame.fr>
59 -2009-12-08 Stephane Letz <letz@grame.fr>
4560 +2010-05-30 Stephane Letz <letz@grame.fr>
4661
47 - * Use a QUIT notification to properly quit the server channel, the server channel thread can then be 'stopped' instead of 'canceled'.
62 - * Josh Green ALSA driver capture only patch.
4863 + * David Garcia Garzon netone patch.
4964
5065 +2010-05-27 Stephane Letz <letz@grame.fr>
115130 +
116131 + * Use a QUIT notification to properly quit the server channel, the server channel thread can then be 'stopped' instead of 'canceled'.
117132 +
118 2009-12-09 Stephane Letz <letz@grame.fr>
119
120 - * When threads are cancelled, the exception has to be rethrown.
121 -
133 +2009-12-09 Stephane Letz <letz@grame.fr>
134 +
122135 + * When threads are cancelled, the exception has to be rethrown.
123136 +
124 2009-12-08 Stephane Letz <letz@grame.fr>
125
126 - * Josh Green ALSA driver capture only patch.
127 -
137 +2009-12-08 Stephane Letz <letz@grame.fr>
138 +
128139 + * Josh Green ALSA driver capture only patch.
129140 +
130141 2009-12-03 Stephane Letz <letz@grame.fr>
370381 * Fix issues in JackNetDriver::DecodeTransportData and JackNetDriver::Initialize.
371382
372383 2009-08-28 Stephane Letz <letz@grame.fr>
373 @@ -557,7 +626,7 @@
384 @@ -557,7 +637,7 @@
374385 2008-11-21 Stephane Letz <letz@grame.fr>
375386
376387 * Report ringbuffer.c fixes from JACK1.
12691280 }
12701281 --- a/linux/firewire/JackFFADODriver.cpp
12711282 +++ b/linux/firewire/JackFFADODriver.cpp
1272 @@ -429,7 +429,7 @@
1283 @@ -338,6 +338,7 @@
1284 driver->device_options.verbose = params->verbose_level;
1285 driver->capture_frame_latency = params->capture_frame_latency;
1286 driver->playback_frame_latency = params->playback_frame_latency;
1287 + driver->device_options.snoop_mode = params->snoop_mode;
1288
1289 debugPrint(DEBUG_LEVEL_STARTUP, " Driver compiled on %s %s", __DATE__, __TIME__);
1290 debugPrint(DEBUG_LEVEL_STARTUP, " Created driver %s", name);
1291 @@ -429,7 +430,7 @@
12731292
12741293 driver->capture_channels[chn].stream_type = ffado_streaming_get_capture_stream_type(driver->dev, chn);
12751294 if (driver->capture_channels[chn].stream_type == ffado_stream_type_audio) {
12781297 printMessage ("Registering audio capture port %s", buf);
12791298 if ((port_index = fGraphManager->AllocatePort(fClientControl.fRefNum, buf,
12801299 JACK_DEFAULT_AUDIO_TYPE,
1281 @@ -455,7 +455,7 @@
1300 @@ -455,7 +456,7 @@
12821301 fCaptureChannels++;
12831302
12841303 } else if (driver->capture_channels[chn].stream_type == ffado_stream_type_midi) {
12871306 printMessage ("Registering midi capture port %s", buf);
12881307 if ((port_index = fGraphManager->AllocatePort(fClientControl.fRefNum, buf,
12891308 JACK_DEFAULT_MIDI_TYPE,
1290 @@ -502,7 +502,7 @@
1309 @@ -502,7 +503,7 @@
12911310 driver->playback_channels[chn].stream_type = ffado_streaming_get_playback_stream_type(driver->dev, chn);
12921311
12931312 if (driver->playback_channels[chn].stream_type == ffado_stream_type_audio) {
12961315 printMessage ("Registering audio playback port %s", buf);
12971316 if ((port_index = fGraphManager->AllocatePort(fClientControl.fRefNum, buf,
12981317 JACK_DEFAULT_AUDIO_TYPE,
1299 @@ -530,7 +530,7 @@
1318 @@ -530,7 +531,7 @@
13001319 jack_log("JackFFADODriver::Attach fPlaybackPortList[i] %ld ", port_index);
13011320 fPlaybackChannels++;
13021321 } else if (driver->playback_channels[chn].stream_type == ffado_stream_type_midi) {
13051324 printMessage ("Registering midi playback port %s", buf);
13061325 if ((port_index = fGraphManager->AllocatePort(fClientControl.fRefNum, buf,
13071326 JACK_DEFAULT_MIDI_TYPE,
1308 @@ -753,12 +753,20 @@
1327 @@ -753,12 +754,20 @@
13091328 strcpy (desc->name, "firewire"); // size MUST be less then JACK_DRIVER_NAME_MAX + 1
13101329 strcpy(desc->desc, "Linux FFADO API based audio backend"); // size MUST be less then JACK_DRIVER_PARAM_DESC + 1
13111330
13121331 - desc->nparams = 11;
1313 + desc->nparams = 12;
1332 + desc->nparams = 13;
13141333
13151334 params = (jack_driver_param_desc_t *)calloc (desc->nparams, sizeof (jack_driver_param_desc_t));
13161335 desc->params = params;
13271346 strcpy (params[i].name, "period");
13281347 params[i].character = 'p';
13291348 params[i].type = JackDriverParamUInt;
1330 @@ -881,7 +889,7 @@
1349 @@ -846,6 +855,14 @@
1350 strcpy (params[i].short_desc, "libffado verbose level");
1351 strcpy (params[i].long_desc, params[i].short_desc);
1352
1353 + i++;
1354 + strcpy (params[i].name, "snoop");
1355 + params[i].character = 'X';
1356 + params[i].type = JackDriverParamBool;
1357 + params[i].value.i = 0;
1358 + strcpy (params[i].short_desc, "Snoop firewire traffic");
1359 + strcpy (params[i].long_desc, params[i].short_desc);
1360 +
1361 return desc;
1362 }
1363
1364 @@ -855,7 +872,7 @@
1365
1366 ffado_jack_settings_t cmlparams;
1367
1368 - char *device_name="hw:0";
1369 + char *device_name=(char*)"hw:0";
1370
1371 cmlparams.period_size_set = 0;
1372 cmlparams.sample_rate_set = 0;
1373 @@ -881,7 +898,7 @@
13311374
13321375 switch (param->character) {
13331376 case 'd':
13361379 break;
13371380 case 'p':
13381381 cmlparams.period_size = param->value.ui;
1382 @@ -911,7 +928,7 @@
1383 cmlparams.slave_mode = param->value.ui;
1384 break;
1385 case 'X':
1386 - cmlparams.snoop_mode = param->value.ui;
1387 + cmlparams.snoop_mode = param->value.i;
1388 break;
1389 case 'v':
1390 cmlparams.verbose_level = param->value.ui;
13391391 --- a/macosx/Jack-Info.plist
13401392 +++ b/macosx/Jack-Info.plist
13411393 @@ -7,7 +7,7 @@
95869638 opt.add_option('--dbus', action='store_true', default=False, help='Enable D-Bus JACK (jackdbus)')
95879639 opt.add_option('--classic', action='store_true', default=False, help='Force enable standard JACK (jackd) even if D-Bus JACK (jackdbus) is enabled too')
95889640 opt.add_option('--doxygen', action='store_true', default=False, help='Enable build of doxygen documentation')
9589 @@ -69,7 +70,10 @@
9641 @@ -69,13 +70,16 @@
95909642 opt.add_option('--mixed', action='store_true', default=False, help='Build with 32/64 bits mixed mode')
95919643 opt.add_option('--clients', default=64, type="int", dest="clients", help='Maximum number of JACK clients')
95929644 opt.add_option('--ports-per-application', default=768, type="int", dest="application_ports", help='Maximum number of ports per application')
95989650 opt.sub_options('dbus')
95999651
96009652 def configure(conf):
9653 platform = Utils.detect_platform()
9654 conf.env['IS_MACOSX'] = platform == 'darwin'
9655 - conf.env['IS_LINUX'] = platform == 'linux'
9656 + conf.env['IS_LINUX'] = platform == 'linux' or platform == 'posix'
9657 conf.env['IS_SUN'] = platform == 'sunos'
9658
9659 if conf.env['IS_LINUX']:
96019660 @@ -110,6 +114,15 @@
96029661 conf.sub_config('common')
96039662 if conf.env['IS_LINUX']:
96859744 * @see jack_port_name_size(), jack_port_type_size()
96869745 --- a/dbus/sigsegv.c
96879746 +++ b/dbus/sigsegv.c
9688 @@ -99,7 +99,13 @@
9747 @@ -98,8 +98,18 @@
9748 jack_error("info.si_errno = %d", info->si_errno);
96899749 jack_error("info.si_code = %d (%s)", info->si_code, si_codes[info->si_code]);
96909750 jack_error("info.si_addr = %p", info->si_addr);
9751 +#if !defined(__alpha__) && !defined(__ia64__) && !defined(__FreeBSD_kernel__) && !defined(__arm__) && !defined(__hppa__) && !defined(__sh__)
96919752 for(i = 0; i < NGREG; i++)
96929753 - jack_error("reg[%02d] = 0x" REGFORMAT, i, ucontext->uc_mcontext.gregs[i]);
96939754 + jack_error("reg[%02d] = 0x" REGFORMAT, i,
96949755 +#if defined(__powerpc__)
96959756 + ucontext->uc_mcontext.uc_regs[i]
9757 +#elif defined(__sparc__) && defined(__arch64__)
9758 + ucontext->uc_mcontext.mc_gregs[i]
96969759 +#else
96979760 + ucontext->uc_mcontext.gregs[i]
96989761 +#endif
96999762 + );
9763 +#endif /* alpha, ia64, kFreeBSD, arm, hppa */
97009764
97019765 #if defined(SIGSEGV_STACK_X86) || defined(SIGSEGV_STACK_IA64)
97029766 # if defined(SIGSEGV_STACK_IA64)
1068410748 *status = (jack_status_t)my_status1;
1068510749 --- a/linux/cycles.h
1068610750 +++ b/linux/cycles.h
10687 @@ -103,6 +103,20 @@
10751 @@ -53,6 +53,16 @@
1068810752
1068910753 #endif
1069010754
10755 +#ifdef __sparc_v9__
10756 +/* rd is V9 only */
10757 +static inline unsigned long long get_cycles(void)
10758 +{
10759 + unsigned long long res;
10760 + __asm__ __volatile__("rd %%tick, %0" : "=r"(res));
10761 + return res;
10762 +}
10763 +#endif
10764 +
10765 #ifdef __PPC__
10766
10767 /* PowerPC */
10768 @@ -102,6 +112,33 @@
10769 }
10770
10771 #endif
10772 +
10773 +#if defined(__FreeBSD_kernel__)
10774 +
10775 +#warning No suitable get_cycles() implementation. Returning 0 instead
10776 +
10777 +typedef unsigned long long cycles_t;
10778 +
10779 +static inline cycles_t get_cycles(void)
10780 +{
10781 + return 0;
10782 +}
10783 +
10784 +#endif
10785 +
1069110786 +/* everything else but x86, amd64 or ppc */
1069210787 +#if !defined (__PPC__) && !defined (__x86_64__) && !defined (__i386__)
1069310788 +
1070110796 +}
1070210797 +
1070310798 +#endif
10704 +
10799
1070510800 #endif
1070610801
10707 #endif /* __jack_cycles_h__ */
1070810802 --- a/macosx/coremidi/JackCoreMidiDriver.cpp
1070910803 +++ b/macosx/coremidi/JackCoreMidiDriver.cpp
1071010804 @@ -40,11 +40,13 @@
1072610820
1072710821 --- a/common/JackClient.cpp
1072810822 +++ b/common/JackClient.cpp
10823 @@ -1012,7 +1012,7 @@
10824 if (va->load_name && (strlen(va->load_name) >= JACK_PATH_MAX)) {
10825 jack_error("\"%s\" is too long for a shared object name.\n"
10826 "Please use %lu characters or less.",
10827 - va->load_name, PATH_MAX);
10828 + va->load_name, JACK_PATH_MAX);
10829 int my_status1 = *status | (JackFailure | JackInvalidOption);
10830 *status = (jack_status_t)my_status1;
10831 return 0;
1072910832 @@ -1027,7 +1027,8 @@
1073010833 return 0;
1073110834 }
1224612349 if (sem_close(fSemaphore) != 0) {
1224712350 jack_error("Disconnect: can't disconnect named semaphore name = %s err = %s", fName, strerror(errno));
1224812351 return false;
12352 --- a/common/jack/systemdeps.h
12353 +++ b/common/jack/systemdeps.h
12354 @@ -53,7 +53,7 @@
12355
12356 #endif /* WIN32 */
12357
12358 -#if defined(__APPLE__) || defined(__linux__) || defined(__sun__) || defined(sun)
12359 +#if defined(__APPLE__) || defined(__linux__) || defined(__sun__) || defined(sun) || defined(__unix__)
12360 #include <inttypes.h>
12361 #include <pthread.h>
12362 #include <sys/types.h>