;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Ricardo Feltrin

CEO da Brasileirinhas critica canal e sites que abrem conteúdo pornô

Agatha Figueiredo, atriz da produtora Brasileirinhas - Divulgação
Agatha Figueiredo, atriz da produtora Brasileirinhas
Imagem: Divulgação

Colunista do UOL

14/04/2020 03h33

Sócio e CEO (Chief Executive Officer) da maior produtora de vídeos eróticos do país, Clayton Nunes está irritando alguns colegas de profissão.

Motivo: tem feito duras críticas a todos os sites e canais da TV paga que decidiram abrir seu conteúdo gratuitamente durante a quarentena causada pela pandemia de coronavírus.

"Sou totalmente contra. Quem libera esse tipo de conteúdo, seja na TV paga ou na internet, está também abrindo a possibilidade para o o por parte de crianças", diz Nunes, cujo site (brasileirinhuol-br.atualizarondonia.com.br) tem mais de 1.000 filmes no acervo.

"Isso (abrir o conteúdo) é uma decisão perigosa porque hoje em dia qualquer criança já sabe mexer tranquilamente em qualquer equipamento, sejam computadores ou TVs", prossegue.

"Além disso boa parte das famílias que tem TV por nem sequer sabem mexer nas configurações de segurança e controle de conteúdo", afirma.

"Esses pontos de TV e seu conteúdo estão totalmente desprotegidos."

Embora não tenha citado nominalmente, o recado de Nunes tem endereço certo: o canal Sexy Hot, que durante a quarentena abriu o gratuito para cerca de 10 filmes pornôs na TV paga.

Febre ou

Logo que a pandemia eclodiu no Brasil, o site Brasileirinhas, que é pago, dobrou o seu número de s diárias.

No entanto, segundo ele, no momento a "febre" de s já ou.

O site tem dois planos: o de R$ 29,90 dá direito a assistir ao, digamos, "BBB" semanal com as atrizes que se hospedam na "Casa das Brasileirinhas".

Essa também dá direito a 5.000 horas de vídeo. Já a "" custa R$ 39,90 e, além do "reality" dá o a 1.045 filmes do acervo da produtora, sendo que 131 estão em 4K.

Fechar ou abrir conteúdo?

Questionado se manter o conteúdo fechado só para s não é também uma forma de lucrar, Nunes, 44 anos, discorda:

"Nosso acervo é e sempre foi fechado. A gente sabe muito bem que está lidando com conteúdo adulto, e que não pode ser ado por menores. Empresa que abre conteúdo temporariamente, aí sim, está querendo criar um hábito até então inexistente no público", argumenta.

"Ou seja, depois que acabar (a quarentena) a chance de alguém é muito maior. Por isso mesmo é que se chama degustação."

Nunes também critica abertamente a decisão do site Pornhub de ter aberto seu conteúdo "" ao redor do mundo. "Isso é publicidade mal disfarçada de generosidade", diz.

A Brasileirinhas tem uma equipe de funcionários e advogados que a praticamente 24 horas por dia, 7 dias por semana, fazendo varredura na internet para notificar sites que pirateiam seu conteúdo.

Isso tem se mostrado uma tarefa inglória e o executivo ite:

"Eu sei, é como enxugar gelo. Mas, os 'piratas' não desistem, então decidimos que também não vamos parar de enxugá-lo."

Outro lado

Procurado para comentar as declarações do CEO da Brasileirinhas, o canal Sexy Hot não deu uma resposta até o momento da publicação deste texto.

Se o fizer, terão sua versão incluída aqui.

A coluna também está tentando entrar em contato com a assessoria do site PornHub, mas não obteve sucesso até o momento.

Ricardo Feltrin no Twitter, Facebook, Instagram e site Ooops