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 
> <javascript:>> 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 
>> <javascript:>> ha scritto:
>>
>>> That’s all.
>>>
>>> On Fri, 14 Sep 2018 at 21:53, dan Med <litoki...@gmail.com <javascript:>> 
>>> 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 
>>>> <javascript:>> wrote:
>>>>
>>>>> Technica question, when Arraybufferbuilder:append will be called ?
>>>>>
>>>>> On Fri, 14 Sep 2018 at 01:14, Peter Schow <psc...@gmail.com 
>>>>> <javascript:>> wrote:
>>>>>
>>>>>> On Thu, Sep 13, 2018 at 10:45 AM dan Med <litoki...@gmail.com 
>>>>>> <javascript:>> 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 <javascript:>
>>>>>> 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 <javascript:>.
>>>>>> 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.

Reply via email to