Browse Source

Add netsource as an internal client

git-svn-id: svn+ssh://jackaudio.org/trunk/jack@1099 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/0.115.6
sletz 17 years ago
parent
commit
ece1d34aa6
3 changed files with 46 additions and 11 deletions
  1. +13
    -0
      drivers/netjack/Makefile.am
  2. +0
    -3
      drivers/netjack/net_driver.c
  3. +33
    -8
      drivers/netjack/net_source.c

+ 13
- 0
drivers/netjack/Makefile.am View File

@@ -12,3 +12,16 @@ jack_net_la_LDFLAGS = -module -avoid-version
jack_net_la_SOURCES = net_driver.c netjack_packet.c

noinst_HEADERS = net_driver.h

#
# netsource in-process client
#

netsource_clientdir = $(ADDON_DIR)

netsource_client_LTLIBRARIES = netsource.la

netsource_la_LDFLAGS = -module -avoid-version @OS_LDFLAGS@
netsource_la_SOURCES = net_source.c netjack_packet.c

netsource_la_LIBADD = -lsamplerate

+ 0
- 3
drivers/netjack/net_driver.c View File

@@ -465,8 +465,6 @@ net_driver_new (jack_client_t * client,
resample_factor_up = resample_factor;

// Now open the socket, and wait for the first packet to arrive...


driver->sockfd = socket(PF_INET, SOCK_DGRAM, 0);
if (driver->sockfd == -1) {
jack_info("socket error");
@@ -520,7 +518,6 @@ net_driver_new (jack_client_t * client,
}

// After possible Autoconfig: do all calculations...

driver->period_usecs =
(jack_time_t) floor ((((float) driver->period_size) / driver->sample_rate)
* 1000000.0f);


+ 33
- 8
drivers/netjack/net_source.c View File

@@ -5,7 +5,8 @@
*/

#include <stdio.h>
#include <errno.h>(#include <unistd.h>
#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>

@@ -38,16 +39,13 @@ int insockfd;
struct sockaddr destaddr;
struct sockaddr bindaddr;


int recv_channels;
int recv_smaple_format;


int sync_state;
jack_transport_state_t last_transport_state;

int framecnt = 0;

int cont_miss = 0;

SRC_STATE *src_state;
@@ -207,7 +205,6 @@ ReadAgain:
////////////////

// reset packet_bufX... and then send...

packet_bufX = packet_buf + sizeof(jacknet_packet_header) / sizeof(jack_default_audio_sample_t);

//////////////// send ////////////////
@@ -216,7 +213,6 @@ ReadAgain:
render_jack_ports_to_payload(bitdepth, playback_ports, playback_srcs, nframes, packet_bufX, net_period);

// fill in packet hdr

pkthdr->transport_state = jack_transport_query(client, &local_trans_pos);
pkthdr->transport_frame = local_trans_pos.frame;
pkthdr->framecnt = framecnt;
@@ -246,7 +242,6 @@ ReadAgain:
void
jack_shutdown (void *arg)
{

exit (1);
}

@@ -381,7 +376,6 @@ main (int argc, char *argv[])

jack_on_shutdown (client, jack_shutdown, 0);


/* display the current sample rate.
*/

@@ -413,3 +407,34 @@ main (int argc, char *argv[])
exit (0);
}

/**
* This required entry point is called after the client is loaded by
* jack_internal_client_load().
*
* @param client pointer to JACK client structure.
* @param load_init character string passed to the load operation.
*
* @return 0 if successful; otherwise jack_finish() will be called and
* the client terminated immediately.
*/
int
jack_initialize (jack_client_t *client, const char *load_init)
{
jack_info("netsource: jack_initialize");
return 0; /* success */
}

/**
* This required entry point is called immediately before the client
* is unloaded, which could happen due to a call to
* jack_internal_client_unload(), or a nonzero return from either
* jack_initialize() or inprocess().
*
* @param arg the same parameter provided to inprocess().
*/
void
jack_finish (void *arg)
{
jack_info("netsource: jack_finish");
}


Loading…
Cancel
Save