• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/minidlna/ffmpeg-0.5.1/

Lines Matching defs:feed

74     HTTPSTATE_WAIT_FEED,          /* wait for data from the feed */
129 /* feed input */
145 int feed_streams[MAX_STREAMS]; /* index of streams in the feed */
146 int switch_feed_streams[MAX_STREAMS]; /* index of streams in the feed */
203 struct FFStream *feed; /* feed we are using (can be null if
214 int feed_streams[MAX_STREAMS]; /* index of streams in the feed */
215 char feed_filename[1024]; /* file name of the feed storage, or
235 /* feed specific */
236 int feed_opened; /* true if someone is writing to the feed */
237 int is_feed; /* true if it is a feed */
242 int64_t feed_write_index; /* current write position in feed (it wraps around) */
243 int64_t feed_size; /* current size of feed */
398 static void start_children(FFStream *feed)
403 for (; feed; feed = feed->next) {
404 if (feed->child_argv && !feed->pid) {
405 feed->pid_start = time(0);
407 feed->pid = fork();
409 if (feed->pid < 0) {
413 if (!feed->pid) {
430 for (i = 1; feed->child_argv[i] && feed->child_argv[i][0]; i++)
431 http_log("%s ", feed->child_argv[i]);
452 execvp(pathname, feed->child_argv);
823 /* signal that there is no feed if we are the feeder socket */
949 /* nothing to do, we'll be waken up by incoming feed packets */
1060 static int find_stream_in_feed(FFStream *feed, AVCodecContext *codec, int bit_rate)
1066 for (i = 0; i < feed->nb_streams; i++) {
1067 AVCodecContext *feed_codec = feed->streams[i]->codec;
1103 /* Not much we can do for a feed */
1104 if (!req->feed)
1115 c->switch_feed_streams[i] = find_stream_in_feed(req->feed, codec, codec->bit_rate / 2);
1119 c->switch_feed_streams[i] = find_stream_in_feed(req->feed, codec, codec->bit_rate / 4);
1361 /* If already streaming this feed, do not let start another feeder. */
1363 snprintf(msg, sizeof(msg), "This feed is already being received.");
1364 http_log("feed %s already being received\n", stream->feed_filename);
1512 /* if post, it means a feed is being sent */
1568 snprintf(msg, sizeof(msg), "could not open feed");
1684 if (stream->feed != stream) {
1752 if (stream->feed)
1753 url_fprintf(pb, "<TD>%s", stream->feed->filename);
1770 if (stream->feed == stream) {
1840 /* feed status */
1884 if (!c1->stream->feed)
1887 bitrate += c1->stream->feed->streams[c1->feed_streams[j]]->codec->bit_rate;
1946 if (c->stream->feed) {
1947 strcpy(input_filename, c->stream->feed->feed_filename);
2056 /* if file or feed, then just take streams from FFStream struct */
2057 if (!c->stream->feed ||
2058 c->stream->feed == c->stream)
2061 src = c->stream->feed->streams[c->stream->feed_streams[i]];
2105 if (c->stream->feed)
2107 c->stream->feed->feed_write_index,
2108 c->stream->feed->feed_size);
2118 if (c->stream->feed && c->stream->feed->feed_opened) {
2119 /* if coming from feed, it means we reached the end of the
2144 if (c->stream->feed) {
2145 /* if coming from a feed, select the right stream */
2404 /* open feed */
2413 http_log("Error reading write index from feed file: %s\n", strerror(errno));
2458 FFStream *feed = c->stream;
2463 // printf("writing pos=0x%"PRIx64" size=0x%"PRIx64"\n", feed->feed_write_index, feed->feed_size);
2465 lseek(c->feed_fd, feed->feed_write_index, SEEK_SET);
2467 http_log("Error writing to feed file: %s\n", strerror(errno));
2471 feed->feed_write_index += FFM_PACKET_SIZE;
2473 if (feed->feed_write_index > c->stream->feed_size)
2474 feed->feed_size = feed->feed_write_index;
2477 if (c->stream->feed_max_size && feed->feed_write_index >= c->stream->feed_max_size)
2478 feed->feed_write_index = FFM_PACKET_SIZE;
2481 if (ffm_write_write_index(c->feed_fd, feed->feed_write_index) < 0) {
2482 http_log("Error writing index to feed file: %s\n", strerror(errno));
2489 c1->stream->feed == c->stream->feed)
2499 /* use feed output format name to find corresponding input format */
2500 fmt_in = av_find_input_format(feed->fmt->name);
2513 if (s->nb_streams != feed->nb_streams) {
2520 AVStream *fst = feed->streams[i];
2542 /* wake up any waiting connections to stop waiting for feed */
2545 c1->stream->feed == c->stream->feed)
3168 if (!c->stream->feed ||
3169 c->stream->feed == c->stream)
3173 c->stream->feed->streams[c->stream->feed_streams[stream_index]],
3256 /* return the stream number in the feed */
3257 static int add_av_stream(FFStream *feed, AVStream *st)
3264 for(i=0;i<feed->nb_streams;i++) {
3265 st = feed->streams[i];
3291 fst = add_av_stream1(feed, av);
3294 return feed->nb_streams - 1;
3371 !stream->feed) {
3409 /* compute the needed AVStream for each feed */
3412 FFStream *stream, *feed;
3417 feed = stream->feed;
3418 if (feed) {
3420 /* we handle a stream coming from a feed */
3422 stream->feed_streams[i] = add_av_stream(feed, stream->streams[i]);
3429 feed = stream->feed;
3430 if (feed) {
3438 /* create feed files if needed */
3439 for(feed = first_feed; feed != NULL; feed = feed->next_feed) {
3442 if (url_exist(feed->feed_filename)) {
3447 if (av_open_input_file(&s, feed->feed_filename, NULL, FFM_PACKET_SIZE, NULL) >= 0) {
3449 if (s->nb_streams == feed->nb_streams) {
3453 sf = feed->streams[i];
3459 i, feed->feed_filename);
3498 http_log("Deleting feed file '%s' as stream counts differ (%d != %d)\n",
3499 feed->feed_filename, s->nb_streams, feed->nb_streams);
3503 http_log("Deleting feed file '%s' as it appears to be corrupt\n",
3504 feed->feed_filename);
3507 if (feed->readonly) {
3508 http_log("Unable to delete feed file '%s' as it is marked readonly\n",
3509 feed->feed_filename);
3512 unlink(feed->feed_filename);
3515 if (!url_exist(feed->feed_filename)) {
3518 if (feed->readonly) {
3519 http_log("Unable to create feed file '%s' as it is marked readonly\n",
3520 feed->feed_filename);
3525 if (url_fopen(&s->pb, feed->feed_filename, URL_WRONLY) < 0) {
3526 http_log("Could not open output feed file '%s'\n",
3527 feed->feed_filename);
3530 s->oformat = feed->fmt;
3531 s->nb_streams = feed->nb_streams;
3534 st = feed->streams[i];
3546 /* get feed size and write index */
3547 fd = open(feed->feed_filename, O_RDONLY);
3549 http_log("Could not open output feed file '%s'\n",
3550 feed->feed_filename);
3554 feed->feed_write_index = ffm_read_write_index(fd);
3555 feed->feed_size = lseek(fd, 0, SEEK_END);
3557 if (feed->feed_max_size && feed->feed_max_size < feed->feed_size)
3558 feed->feed_max_size = feed->feed_size;
3760 FFStream **last_feed, *feed;
3777 feed = NULL;
3863 if (stream || feed) {
3867 feed = av_mallocz(sizeof(FFStream));
3869 *last_stream = feed;
3870 last_stream = &feed->next;
3871 /* add in feed list */
3872 *last_feed = feed;
3873 last_feed = &feed->next_feed;
3875 get_arg(feed->filename, sizeof(feed->filename), &p);
3876 q = strrchr(feed->filename, '>');
3879 feed->fmt = guess_format("ffm", NULL, NULL);
3880 /* defaut feed file */
3881 snprintf(feed->feed_filename, sizeof(feed->feed_filename),
3882 "/tmp/%s.ffm", feed->filename);
3883 feed->feed_max_size = 5 * 1024 * 1024;
3884 feed->is_feed = 1;
3885 feed->feed = feed; /* self feeding :-) */
3888 if (feed) {
3891 feed->child_argv = av_mallocz(64 * sizeof(char *));
3898 feed->child_argv[i] = av_strdup(arg);
3901 feed->child_argv[i] = av_malloc(30 + strlen(feed->filename));
3903 snprintf(feed->child_argv[i], 30+strlen(feed->filename),
3907 ntohs(my_http_addr.sin_port), feed->filename);
3910 if (feed) {
3911 get_arg(feed->feed_filename, sizeof(feed->feed_filename), &p);
3912 feed->readonly = 1;
3917 if (feed) {
3918 get_arg(feed->feed_filename, sizeof(feed->feed_filename), &p);
3922 if (feed) {
3940 feed->feed_max_size = (int64_t)fsize;
3943 if (!feed) {
3948 feed = NULL;
3953 if (stream || feed) {
3995 fprintf(stderr, "%s:%d: feed '%s' not defined\n",
3998 stream->feed = sfeed;
4303 else if (feed)
4304 naclp = &feed->acl;
4306 fprintf(stderr, "%s:%d: ACL found not in <stream> or <feed>\n",
4352 if (stream->feed && stream->fmt && strcmp(stream->fmt->name, "ffm") != 0) {
4369 if (stream || feed || redirect) {
4428 FFStream *feed;
4430 for (feed = first_feed; feed; feed = feed->next) {
4431 if (feed->pid == pid) {
4432 int uptime = time(0) - feed->pid_start;
4434 feed->pid = 0;
4435 fprintf(stderr, "%s: Pid %d exited with status %d after %d seconds\n", feed->filename, pid, status, uptime);
4439 feed->child_argv = 0;