mcgw with HTTP input

Jakub Pawel Glazik zytek-lists at nuxi.pl
Wed Jun 17 20:28:08 CEST 2009



Hello,

I've been trying to modify mcgw (hacked getstream by Frederick to ack
as a MPEG TS proxy posted here some time ago) so it could accept HTTP
input (not only RTP).

I've done connecting and setting up callback function. Proxy works, but
stream is corrupted as hell.

I think the problem is the callback function, that TS is sent through
HTTP as some 'chunked' data and it should be "extracted" prior to
putting it into output_send_http but I have no clue how to accomplish
that. 

I've been experimenting much, but here is the simplest callback to just
read and pass everything to http output. It works, but as I said the
stream is corrupted (many artefacts).

static void http_cb_received(int fd, short event, void *arg)
{
        int i;
        struct http_input_s *input = arg;
        size_t size = 1;

	#define BUFF 188
        size = recv(fd, input->buffer, BUFF, 0);
        if (size > 0)
          for (i = 0; i < size; i += 188)
            output_send_http(input->output, input->buffer + i);
}

Can you point me how to do proper callback function that
would read part of the input, extract MPEG TS and send it further ?
With RTP input it looked much simpler :/

-- 
.: Jakub Pawel Glazik,
.: email & jabber: zytek<at>nuxi.pl


More information about the Getstream mailing list