Ok so when is arraybufferbuilde:append called ? On Wed, 19 Sep 2018 at 12:36, @soylentgraham <gra...@grahamreeves.com> wrote:
> Not sure where to start with this message > > a) Not even vaguely related to the original topic, you should start a new > thread when the topic is wildly different. > b) Do not start a new thread. > c) This code is from libav (or actually, maybe ffmpeg). av_XXX are macros, > functions and other values. The AV prefix is a hint to the user (you) that > it's part of the av library. AV stands for audio/visual (or I suppose, > audio/video these days) > d) This is a question that should be on www.stackoverflow.com > e) Please do not reply to this message. (at least regarding this new topic) > > > On Tuesday, 18 September 2018 21:15:42 UTC+1, dan Med wrote: > >> I was reading this code but i can't figure outwhat av_..._.. stands for >> is it already opening the connection here? >> >> static int tcp_open(URLContext *h, const char *uri, int flags){ struct >> addrinfo hints = { 0 }, *ai, *cur_ai; int port, fd = -1; TCPContext *s >> = h->priv_data; const char *p; char buf[256]; int ret; char >> hostname[1024],proto[1024],path[1024]; char portstr[10]; >> s->open_timeout = 5000000; av_url_split(proto, sizeof(proto), NULL, 0, >> hostname, sizeof(hostname), &port, path, sizeof(path), uri); if >> (strcmp(proto, "tcp")) return AVERROR(EINVAL); if (port <= 0 || >> port >= 65536) { av_log(h, AV_LOG_ERROR, "Port missing in uri\n"); >> return AVERROR(EINVAL); } p = strchr(uri, '?'); if (p) { >> if (av_find_info_tag(buf, sizeof(buf), "listen", p)) { char >> *endptr = NULL; s->listen = strtol(buf, &endptr, 10); >> /* assume if no digits were found it is a request to enable it */ >> if (buf == endptr) s->listen = 1; } if >> (av_find_info_tag(buf, sizeof(buf), "timeout", p)) { >> s->rw_timeout = strtol(buf, NULL, 10); } if >> (av_find_info_tag(buf, sizeof(buf), "listen_timeout", p)) { >> s->listen_timeout = strtol(buf, NULL, 10); } } if >> (s->rw_timeout >= 0) { s->open_timeout = h->rw_timeout = >> s->rw_timeout; } hints.ai_family = AF_UNSPEC; hints.ai_socktype = >> SOCK_STREAM; snprintf(portstr, sizeof(portstr), "%d", port); if >> (s->listen) hints.ai_flags |= AI_PASSIVE; if (!hostname[0]) >> ret = getaddrinfo(NULL, portstr, &hints, &ai); else ret = >> getaddrinfo(hostname, portstr, &hints, &ai); if (ret) { av_log(h, >> AV_LOG_ERROR, "Failed to resolve hostname %s: %s\n", >> hostname, gai_strerror(ret)); return AVERROR(EIO); } cur_ai >> = ai; restart:#if HAVE_STRUCT_SOCKADDR_IN6 // workaround for IOS9 >> getaddrinfo in IPv6 only network use hardcode IPv4 address can not resolve >> port number. if (cur_ai->ai_family == AF_INET6){ struct >> sockaddr_in6 * sockaddr_v6 = (struct sockaddr_in6 *)cur_ai->ai_addr; >> if (!sockaddr_v6->sin6_port){ sockaddr_v6->sin6_port = >> htons(port); } }#endif fd = ff_socket(cur_ai->ai_family, >> cur_ai->ai_socktype, cur_ai->ai_protocol); >> if (fd < 0) { ret = ff_neterrno(); goto fail; } /* Set >> the socket's send or receive buffer sizes, if specified. If >> unspecified or setting fails, system default is used. */ if >> (s->recv_buffer_size > 0) { setsockopt (fd, SOL_SOCKET, SO_RCVBUF, >> &s->recv_buffer_size, sizeof (s->recv_buffer_size)); } if >> (s->send_buffer_size > 0) { setsockopt (fd, SOL_SOCKET, SO_SNDBUF, >> &s->send_buffer_size, sizeof (s->send_buffer_size)); } if >> (s->tcp_nodelay > 0) { setsockopt (fd, IPPROTO_TCP, TCP_NODELAY, >> &s->tcp_nodelay, sizeof (s->tcp_nodelay)); } if (s->listen == 2) { >> // multi-client if ((ret = ff_listen(fd, cur_ai->ai_addr, >> cur_ai->ai_addrlen)) < 0) goto fail1; } else if (s->listen == >> 1) { // single client if ((ret = ff_listen_bind(fd, >> cur_ai->ai_addr, cur_ai->ai_addrlen, >> s->listen_timeout, h)) < 0) goto fail1; // Socket >> descriptor already closed here. Safe to overwrite to client one. fd = >> ret; } else { if ((ret = ff_listen_connect(fd, cur_ai->ai_addr, >> cur_ai->ai_addrlen, s->open_timeout / >> 1000, h, !!cur_ai->ai_next)) < 0) { if (ret == AVERROR_EXIT) >> goto fail1; else goto fail; } >> } h->is_streamed = 1; s->fd = fd; freeaddrinfo(ai); return 0; >> fail: if (cur_ai->ai_next) { /* Retry with the next sockaddr */ >> cur_ai = cur_ai->ai_next; if (fd >= 0) >> closesocket(fd); ret = 0; goto restart; } fail1: if (fd >> >= 0) closesocket(fd); freeaddrinfo(ai); return ret;} >> >> >> Il giorno mar 18 set 2018 alle ore 21:54 dan Med <litoki...@gmail.com> >> ha scritto: >> >>> I know that i might have written the same thing over and over again but >>> i didn't get an answer (which i really need) >>> >>> When is ArrayBufferBuilder::Append called ? >>> Thank you >>> >>> Il giorno sab 15 set 2018 alle ore 12:34 dan Med <litoki...@gmail.com> >>> ha scritto: >>> >>>> That’s all. >>>> >>>> On Fri, 14 Sep 2018 at 21:53, dan Med <litoki...@gmail.com> wrote: >>>> >>>>> I don’t understand how that code could be helpful to me.. >>>>> >>>>> On Fri, 14 Sep 2018 at 21:51, dan Med <litoki...@gmail.com> wrote: >>>>> >>>>>> Technica question, when Arraybufferbuilder:append will be called ? >>>>>> >>>>>> On Fri, 14 Sep 2018 at 01:14, Peter Schow <psc...@gmail.com> wrote: >>>>>> >>>>>>> On Thu, Sep 13, 2018 at 10:45 AM dan Med <litoki...@gmail.com> >>>>>>> wrote: >>>>>>> > That isn’t my question.... >>>>>>> > Arraybufferbuilder:append how could I get that to be called. >>>>>>> > What I really need is a little guidance on how to understand how >>>>>>> v8 will parse my JavaScript script and how it will allocate the data. >>>>>>> > Maybe even how a buffer or if there’s something that describes how >>>>>>> buffers are handeled or if there’s a file or code that tells me that not >>>>>>> the memory I know... just how it will execute it that’s all >>>>>>> >>>>>>> Starting with the sample REPL code at: >>>>>>> https://github.com/v8/v8/blob/master/samples/shell.cc >>>>>>> >>>>>>> could answer your questions. In the days that you've been pursuing >>>>>>> this, you could have traced all this by now. Good luck. >>>>>>> >>>>>>> -- >>>>>>> -- >>>>>>> v8-users mailing list >>>>>>> v8-u...@googlegroups.com >>>>>>> http://groups.google.com/group/v8-users >>>>>>> --- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "v8-users" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to v8-users+u...@googlegroups.com. >>>>>> >>>>>> >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> -- > -- > v8-users mailing list > v8-users@googlegroups.com > http://groups.google.com/group/v8-users > --- > You received this message because you are subscribed to the Google Groups > "v8-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to v8-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.