Faits :
A.
Le 25 janvier 2018, l'Agencia Tributaria espagnole (ci-après : l'autorité requérante) a adressé à l'Administration fédérale des contributions (ci-après: l'Administration fédérale) une demande d'assistance administrative concernant B._, dont elle était en train de procéder au contrôle de la situation fiscale. Elle y expliquait que B._ avait transféré ses droits d'image à la société brésilienne B._ s/s Limitada, détenue par ses parents, et qu'elle voulait vérifier si cette cession était intervenue aux conditions du marché. A cet effet, elle souhaitait notamment obtenir de la société suisse A._ SA (ci-après: A._ SA) les contrats qu'elle avait conclus avec B._ s/s Limitada et en particulier ceux qui concernaient les droits d'image de B._ ("contracts signed by A._ with B._ s/s Limitada", "any other contract signed by A._ related to B._'s image rights").
Par ordonnance de production du 19 février 2018, l'Administration fédérale a demandé à A._ SA de lui fournir les documents requis, d'informer B._ de l'ouverture de la procédure d'assistance administrative et de l'inviter à désigner un représentant en Suisse.
Le 14 mars 2018, A._ SA s'est opposée à la transmission de renseignements à l'autorité espagnole, parce qu'ils étaient, selon elle, couverts par le secret d'affaires et que leur production pourrait lui causer un préjudice pécuniaire. Le 29 mars 2018, l'Administration fédérale a maintenu son ordonnance de production, faute d'éléments suffisants lui permettant d'admettre que les renseignements demandés étaient couverts par le secret d'affaires.
Le 10 avril 2018, A._ SA a fourni les informations requises à l'Administration fédérale. Les 18 avril et 24 mai 2018, l'Administration fédérale a transmis les pièces du dossier à A._ SA et à B._, en leur impartissant un délai pour prendre position au sujet des renseignements qu'elle envisageait de communiquer à l'autorité requérante, ce qu'ils ont fait, respectivement les 15 mai et 14 juin 2018. Le 10 août 2018, déférant à une ordonnance de production complémentaire du 30 juillet 2018, A._ SA a transmis d'autres renseignements à l'Administration fédérale. Le 17 septembre 2018, l'Administration fédérale a à nouveau communiqué à A._ SA et à B._ les renseignements qu'elle entendait transmettre et ces derniers se sont déterminés à ce sujet les 21 et 26 septembre 2018. Parmi ces renseignements figurait le contrat relatif aux droits de B._, qui liait non seulement A._ SA et B._ s/s Limitada, mais aussi des entités brésiliennes du groupe A._, ainsi que les sociétés brésiliennes C._ Ltda et D._ Ltda (toutes ces sociétés collectivement désignées ci-après : les Sociétés brésiliennes).
B.
Par décision finale du 30 octobre 2018, notifiée à B._ et à A._ SA, l'Administration fédérale a accordé l'assistance administrative aux autorités espagnoles. A._ SA a recouru contre cette décision auprès du Tribunal administratif fédéral pour demander, principalement, son annulation, subsidiairement, le caviardage du nom des Sociétés brésiliennes.
Dans son arrêt du 8 avril 2019, le Tribunal administratif fédéral a constaté la nullité de la décision finale du 30 octobre 2018, au motif que l'Administration fédérale avait gravement violé le droit d'être entendues des Sociétés brésiliennes en ne les informant pas de l'existence de la procédure d'assistance administrative. Il a partant déclaré irrecevable le recours de A._ SA.
C.
Agissant par la voie du recours en matière de droit public, l'Administration fédérale demande en substance au Tribunal fédéral d'annuler l'arrêt du 8 avril 2019 du Tribunal administratif fédéral en ce sens que sa décision finale du 30 octobre 2018 est confirmée et que le recours de A._ SA est rejeté; subsidiairement, d'annuler l'arrêt du 8 avril 2019 et de renvoyer la cause au Tribunal administratif fédéral pour nouvel examen dans le sens des considérants.
Le Tribunal administratif fédéral se réfère à son arrêt. A._ SA s'en rapporte à justice sur la recevabilité et le fond du recours, tout en soulignant que, selon elle, les Sociétés brésiliennes sont des tiers non concernés par la procédure, dont le nom doit être caviardé. L'Administration fédérale a déposé des observations.

Considérant en droit :
1.
1.1. L'arrêt attaqué est une décision finale (art. 90 LTF), rendue dans une cause de droit public (art. 82 let. a LTF) émanant du Tribunal administratif fédéral (art. 86 al. 1 let. a LTF). Seul un recours en matière de droit public est donc envisageable (cf. art. 113 LTF a contrario).
1.2. Contre les décisions en matière d'assistance administrative internationale en matière fiscale, le recours en matière de droit public n'est recevable que lorsqu'une question juridique de principe se pose ou lorsqu'il s'agit pour d'autres motifs d'un cas particulièrement important au sens de l'art. 84 al. 2 LTF (cf. art. 83 let. h et 84a LTF). La présence d'une question juridique de principe suppose que la décision en cause soit déterminante pour la pratique; tel est notamment le cas lorsque les instances inférieures doivent traiter de nombreux cas analogues ou lorsqu'il est nécessaire de trancher une question juridique qui se pose pour la première fois et donne lieu à une incertitude caractérisée, laquelle appelle de manière pressante un éclaircissement de la part du Tribunal fédéral (<ref-ruling> consid. 1.3 p. 410; <ref-ruling> consid. 4 p. 343 et les références). Cette condition est remplie en l'espèce. En effet, la question de savoir dans quelle mesure l'Administration fédérale doit informer les personnes dont le nom apparaît dans la documentation destinée à être transmise et qui ne sont pas les personnes visées par une demande d'assistance pose une question de principe qui touche potentiellement un grand nombre de demandes d'assistance administrative et qui s'avère de ce fait déterminante pour la pratique (cf. arrêt 2C_687/2019 du 13 juillet 2020 consid. 1.4).
1.3. L'Administration fédérale, qui a qualité pour recourir au sens de l'art. 89 al. 2 let. a LTF, a par ailleurs formé recours en temps utile (art. 100 al. 2 let. b LTF) et dans les formes prévues (art. 42 LTF), de sorte qu'il convient d'entrer en matière.
2.
Saisi d'un recours en matière de droit public, le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (art. 105 al. 1 LTF).
3.
Le Tribunal fédéral applique le droit d'office (art. 106 al. 1 LTF). En l'occurrence, la demande d'assistance administrative à l'origine de la présente affaire est régie sur le plan matériel par la Convention conclue entre la Confédération suisse et l'Espagne en vue d'éviter les doubles impositions en matière d'impôts sur le revenu et sur la fortune (CDI CH-ES; RS 0.672.933.21) dans sa version actuelle, qui découle du Protocole du 27 juillet 2011 (RO 2013 2367). Sur le plan interne, la loi fédérale du 28 septembre 2012 sur l'assistance administrative internationale en matière fiscale (LAAF; RS 651.1), applicable en l'espèce (cf. art. 24 LAAF), en concrétise l'exécution en Suisse (cf. art. 1 LAAF; <ref-ruling> consid. 6.1 p. 228; 628 consid. 4.3 p. 639).
4.
4.1. Alors que, dans son recours devant le Tribunal administratif fédéral, A._ SA se plaignait en substance du fait que le nom des Sociétés brésiliennes n'avait pas été caviardé, parce qu'il ne s'agissait pas de renseignements vraisemblablement pertinents, cette instance a prononcé la nullité de la décision finale du 30 octobre 2018 de l'Administration fédérale. Examinant d'office la cause sous l'angle du droit d'être entendu (art. 29 al. 2 Cst.), que l'art. 14 al. 2 LAAF concrétise sous l'angle du droit à être informé, il a jugé que les Sociétés brésiliennes faisaient partie des personnes que l'Administration fédérale devait informer de l'existence de la procédure, parce que leurs noms constituaient, contrairement à ce que soutenait A._ SA, des renseignements vraisemblablement pertinents. Or, ces sociétés n'avaient fait l'objet d'aucune notification de la part de l'Administration fédérale, et celle-ci n'avait pas non plus demandé à A._ SA de les informer de l'existence de la procédure d'assistance administrative. Les Sociétés brésiliennes avaient ainsi été empêchées de participer à la procédure, en violation de leur droit d'être entendues. Selon le Tribunal administratif fédéral, la gravité du vice justifiait de constater la nullité de la décision finale du 30 octobre 2018 de l'Administration fédérale, ce qui rendait vide de sens l'examen du recours de A._ SA, qui devait être déclaré irrecevable.
4.2. L'Administration fédérale conteste l'existence d'une violation du droit d'être entendu et l'interprétation que le Tribunal administratif fédéral a faite de l'art. 14 a. 2 LAAF. Elle soutient que lui imposer une obligation d'informer d'office toutes les personnes indirectement concernées par une demande d'assistance administrative reviendrait à entraver l'échange de renseignements de manière incompatible avec les engagements internationaux de la Suisse. Elle relève que, selon la pratique de l'Administration fédérale, ces personnes n'endossent la qualité de partie que si elles se manifestent auprès d'elle, ce que les Sociétés brésiliennes n'avaient pas fait.
5.
Pour déterminer si c'est à juste titre que le Tribunal administratif fédéral a prononcé la nullité de la décision finale du 30 octobre 2018 de l'Administration fédérale, il faut s'interroger sur le bien-fondé du motif de nullité retenu. En l'occurrence, cela revient à se demander si l'Administration fédérale était tenue d'informer les Sociétés brésiliennes de l'existence de la procédure d'assistance administrative initiée le 25 janvier 2018 par l'autorité requérante.
6.
6.1. De manière générale, les CDI qui instituent un échange de renseignements sur demande calqué sur le Modèle de Convention OCDE sur le revenu et la fortune (ci-après : MC OCDE) ne prévoient pas la participation à la procédure des personnes visées par une procédure d'assistance, ni, a fortiori, celle des personnes qui ne sont pas visées par une demande, mais dont le nom apparaît dans les renseignements que le détenteur transmet à l'Administration fédérale. Ces questions relèvent de la procédure et des garanties offertes par le droit interne de l'Etat requis, qui figurent, pour ce qui concerne la Suisse, dans la LAAF et dans la loi fédérale du 20 décembre 1968 sur la procédure administrative (PA; RS 172.021), à laquelle celle-ci renvoie (cf. art. 5 al. 1 LAAF; <ref-ruling> consid. 3.3 p. 123; <ref-ruling> consid. 4 p. 411).
6.2. On trouve toutefois dans les CDI des dispositions qui limitent la liberté des Etats contractants en la matière. Dans le cas de la CDI CH-ES, le ch. IV par. 5 du Protocole à la CDI CH-ES prévoit que les règles de procédure relatives aux droits du contribuable prévues dans l'Etat contractant requis ne peuvent pas viser à "éviter ou à retarder sans motif le processus d'échange de renseignements" (cf. aussi <ref-ruling> consid. 3.3 p. 123 dans le contexte de la CDI CH-FR et ATF <ref-ruling> consid. 4 p. 511 dans celui de la CDI CH-US, qui contiennent des dispositions similaires). D'autre part, le ch. IV par. 6 du Protocole à la CDI CH-ES prévoit que les Etats contractants s'engagent à faire preuve de diligence dans le traitement des demandes d'assistance.
En droit interne, l'art. 4 al. 2 LAAF pose le principe selon lequel la procédure d'assistance administrative est menée avec diligence. Ce principe de diligence est concrétisé dans la loi par l'absence de féries (cf. l'art. 5 al. 2 LAAF, excluant l'application de l'art. 22a al. 2 PA, et l'art. 46 al. 2 LTF), par le fait que la procédure ne prévoit qu'un seul échange d'écritures (art. 19 al. 4 LAAF), que le recours devant le Tribunal fédéral doit être formé dans les dix jours (art. 100 al. 2 let. b LTF) et qu'une décision d'irrecevabilité doit être rendue dans les quinze jours par le Tribunal fédéral (art. 107 al. 3 LTF). L'obligation de diligence à laquelle la Suisse est tenue et qu'elle s'est engagée à respecter au plan international ne signifie pas pour autant que la procédure d'assistance administrative doive être menée comme si l'on se trouvait dans une situation urgente qui justifierait une limitation ou une suppression du droit d'être entendu des parties (cf. <ref-ruling> consid. 2.6 p. 225). Le principe de diligence s'oppose en revanche à ce que la mise en oeuvre des garanties procédurales en droit interne ait un effet dilatoire sur la procédure d'assistance administrative internationale et entrave de manière disproportionnée sa mise en application (<ref-ruling> consid. 3.3 p. 123).
7.
L'art. 14 LAAF règle l'information des personnes habilitées à recourir. Il concrétise le droit à l'information qui découle du droit d'être entendu (art. 29 al 2 Cst.; CHARLOTTE SCHODER, StAhiG, Praxiskommentar, 2014, n° 159 ad art. 14 StAhiG). Selon l'art. 14 al. 1 LAAF, l'AFC informe la personne concernée des parties essentielles de la demande. Selon l'art. 14 al. 2 LAAF, elle informe de la procédure d'assistance administrative les autres personnes dont elle peut supposer, sur la base du dossier, qu'elles sont habilitées à recourir en vertu de l'art. 19, al. 2. En l'occurrence, c'est uniquement l'art. 14 al. 2 LAAF qui entre en ligne de compte et non l'art. 14 al. 1 LAAF, les Sociétés brésiliennes ne faisant pas partie des personnes concernées (infra consid. 7.1.1). Il faut donc interpréter cette disposition pour en déterminer le champ d'application personnel.
7.1. L'art. 14 al. 2 LAAF renvoie d'abord à l'art. 19 al. 2 LAAF, qui règle la qualité pour recourir dans la procédure d'assistance administrative. Selon cette disposition, ont qualité pour recourir la personne concernée ainsi que les autres personnes qui remplissent les conditions prévues à l'art. 48 PA.
7.1.1. L'art. 19 al. 2 LAAF confère d'abord la qualité pour recourir à la "personne concernée". Cette notion est définie à l'art. 3 let. a LAAF: est une personne concernée celle au sujet de laquelle sont demandés les renseignements faisant l'objet de la demande d'assistance administrative ou la personne dont la situation fiscale fait l'objet de l'échange spontané de renseignement. Dans une demande d'assistance individuelle, telle que celle du cas d'espèce, il s'agit de la personne qui fait l'objet du contrôle ou de l'enquête, et qui est identifiée par son nom ou par un autre moyen (cf. SCHODER, op. cit., n° 23 ad art. 3 StAhiG). Ne sont en revanche pas des personnes concernées au sens de l'art. 3 let. a LAAF les autres personnes, dont le nom apparaît dans la documentation à transmettre en raison de leur proximité avec l'état de fait contenu dans la demande d'assistance administrative (cf. aussi SCHODER, op. cit., n° 24 ad art. 3 StAhiG).
7.1.2. L'art. 19 al. 2 LAAF confère ensuite la qualité pour recourir aux personnes qui remplissent les conditions prévues à l'art. 48 PA. Selon l'art. 48 al. 1 PA, a qualité pour recourir quiconque a pris part à la procédure devant l'autorité inférieure ou a été privé de la possibilité de le faire (let. a), est spécialement atteint par la décision attaquée (let. b), et a un intérêt digne de protection à son annulation ou à sa modification (let. c). L'intérêt digne de protection au sens de l'art. 48 al. 1 let. c PA correspond à celui qui est visé à l'art. 89 al. 1 LTF et doit être interprété de la même manière (ATF <ref-ruling> consid. 5.1 p. 512; <ref-ruling> consid. 3.4.1 p. 457 s.; <ref-ruling> consid. 3.2 p. 332 s.). Il doit s'agir d'un intérêt direct et concret. La partie recourante doit se trouver dans un rapport suffisamment étroit, spécial et digne d'être pris en considération avec la décision entreprise. Elle doit être touchée dans une mesure et avec une intensité plus grande que l'ensemble des administrés (ATF <ref-ruling> 5.1 p. 512; <ref-ruling> consid. 2.2 p. 504; <ref-ruling> consid. 2.1.2 p. 164). Ces exigences sont particulièrement importantes dans le cas d'un recours d'un tiers qui n'est pas le destinataire de la décision. Sa qualité pour recourir n'est admise que restrictivement. Il faut qu'il soit touché directement, qu'il se trouve, avec l'objet de la contestation, dans une relation particulière, étroite et digne d'être prise en considération et qu'il ait un intérêt pratique à l'annulation ou à la modification de la décision qu'il attaque, en ce sens que l'issue de la procédure doit influencer sa situation de manière significative (<ref-ruling> consid. 2.2 p. 282; <ref-ruling> consid. 6.1 p. 150; 172 consid. 2.1 p. 174; arrêts 2C_1007/2019 du 16 octobre 2019 consid. 5.2; 2C_1156/2016 du 29 juin 2018 consid. 2.2.1).
7.1.3. La qualité pour recourir des personnes qui ne sont pas des personnes concernées par la procédure d'assistance au sens de l'art. 3 let. a LAAF suppose donc d'abord l'existence d'un intérêt digne de protection. Dans le contexte de l'assistance administrative en matière fiscale, cet intérêt n'existe que dans des situations très particulières. En effet, ces personnes sont protégées par le principe de la spécialité, qui figure dans les clauses d'échange de renseignements calquées sur le modèle de l'art. 26 par. 2 MC OCDE (art. 25bis par. 2 CDI CH-ES dans le contexte de la CDI CH-ES), et dont la jurisprudence vient de rappeler le caractère personnel, en ce sens que l'Etat requérant ne peut pas utiliser, à l'encontre de tiers, les renseignements qu'il a reçus par la voie de l'assistance administrative, sauf si cette possibilité résulte des lois des deux Etats et que l'autorité compétente de l'Etat qui fournit les renseignements autorise cette utilisation (cf. arrêt 2C_537/2019 du 13 juillet 2020 consid. 3.4; cf. aussi déjà <ref-ruling> consid. 4.6.1 p. 181). Comme le principe de spécialité protège les tiers de l'utilisation des informations les concernant par l'Etat requérant, le simple fait que leur nom soit mentionné dans la documentation destinée à être transmise ne suffit pas à faire naître un intérêt digne de protection. Il faut bien plus qu'ils puissent se prévaloir d'autres circonstances, comme par exemple l'existence d'un risque concret que l'Etat requérant ne respectera pas le principe de spécialité. En revanche, le seul fait que le tiers pourrait faire valoir, même à juste titre, que son nom ne constitue pas un renseignement vraisemblablement pertinent (art. 4 al. 3 LAAF) et qu'il ne doit partant pas être communiqué à l'Etat requérant ne suffit pas pour retenir l'existence d'un intérêt digne de protection en lien avec la demande d'assistance administrative (cf. arrêt 2C_545/2019 du 13 juillet 2020 consid. 4.5). Il faut des éléments supplémentaires. Par exemple, la jurisprudence a admis qu'un employé de la banque détentrice de renseignements, dont le nom apparaissait dans la documentation bancaire destinée à être transmise à l'autorité requérante, avait un intérêt digne de protection à demander que son nom soit bien caviardé, non seulement pour vérifier que les autorités ne fournissent pas ses données en violation de l'art. 4 al. 3 LAAF, alors que son nom n'est pas pertinent pour l'évaluation de la situation fiscale de la personne concernée par la demande, mais aussi en lien avec la loi fédérale sur la protection des données, parce qu'un juge civil avait interdit à la banque de transmettre ses coordonnées (ATF <ref-ruling> consid. 5.2.1 à 5.2.3 p. 512 ss).
7.1.4. Comme rappelé ci-dessus (consid. 7.1.2), l'intérêt digne de protection doit être un intérêt propre à celui qui s'en prévaut. C'est la raison pour laquelle la jurisprudence a déjà souligné que la banque détentrice de renseignements, qui n'est pas concernée elle-même par la procédure, mais qui doit seulement transmettre des renseignements sur des comptes de clients par l'intermédiaire de ses employés, n'a en principe pas qualité pour recourir (<ref-ruling> consid. 11.1 p. 447; cf. aussi l'arrêt 2C_653/2018 du 26 juillet 2019 destiné à la publication, consid. 2 non publié, in StE 2020 A 31.2 Nr. 20).
7.2. Encore faut-il s'interroger sur l'étendue de l'obligation d'informer qui incombe à l'Administration fédérale. Il ressort déjà de la lettre claire de l'art. 14 al. 2 LAAF que l'Administration fédérale n'a pas à informer de l'existence d'une procédure d'assistance administrative toutes les personnes qui pourraient avoir qualité pour recourir au sens de l'art. 19 al. 2 LAAF. Ce devoir d'information n'existe en particulier pas à l'égard de tous les tiers qui ont qualité pour recourir, mais, selon le texte de la loi, seulement de ceux dont l'Administration fédérale "peut supposer, sur la base du dossier, qu'elles sont habilitées à recourir en vertu de l'art. 19, al. 2" (cf. aussi les versions allemande et italienne de l'art. 14 al. 2 LAAF: "Sie informiert die weiteren Personen, von deren Beschwerdeberechtigung nach Artikel 19 Absatz 2 sie aufgrund der Akten ausgehen muss, über das Amtshilfeverfahren", "L'AFC informa in merito al procedimento di assistenza amministrativa le altre persone che, in base agli atti, deve presumere legittimate a ricorrere secondo l'articolo 19 capoverso 2"). Cette formulation indique que l'Administration fédérale ne doit renseigner sur l'existence d'une procédure d'assistance administrative que les personnes dont la qualité pour recourir au sens de l'art. 19 al. 2 LAAF est évidente.
Certes, les personnes au sujet desquelles des informations doivent être transmises à une autorité étrangère ont un droit à l'autodétermination informationnelle, qui découle des art. 8 CEDH et 13 Cst., de s'opposer à une transmission de données les concernant qui interviendrait sans base légale, respectivement de manière contraire à la loi (arrêt de la CourEDH M.N. et autres c. Saint-Marin du 7 juillet 2015, affaire 28005/12, par. 78 ss). Il n'en découle toutefois pas de manière obligatoire que toutes ces personnes aient qualité de partie et qu'elles puissent recourir dans le cadre d'une procédure d'assistance administrative. Il suffit que leur droit à l'autodétermination informationnelle soit efficacement protégé par une autre voie de droit (cf. arrêt de la CourEDH précité § 81 s.; arrêt 2C_545/2019 du 13 juillet 2020 consid. 4.5 et 4.6). Les personnes qui ne sont pas touchées elles-mêmes par la procédure fiscale dans l'Etat requérant, mais dont le nom figure dans la documentation à transmettre, disposent de voies de droit tirées de la réglementation en matière de protection des données leur permettant de faire vérifier le respect de leur droit à l'autodétermination informationnelle. Accorder une protection juridique à ces personnes dans le cadre de la procédure d'assistance administrative demeure possible, mais n'est pas obligatoire. Cela est, cependant, recommandé si la personne concernée demande elle-même à participer à la procédure. Sinon, les voies de recours découlant du droit de la protection des données sont suffisantes (sur la pratique de l'Administration fédérale à ce sujet, cf. infra consid. 7.3.3).
7.3. Hormis le texte de l'art. 14 al. 2 LAAF, d'autres arguments plaident en faveur d'une limitation du devoir d'information de l'Administration fédérale aux seuls cas où la qualité pour recourir des tiers ressort de manière évidente du dossier.
7.3.1. Cette limitation se justifie aussi par l'engagement de la Suisse de mettre en oeuvre l'assistance administrative de manière diligente et d'éviter d'aménager des droits procéduraux qui auraient des effets dilatoires (supra consid. 6.2). Ainsi, le droit des tiers à participer à la procédure ne peut conduire à retarder de manière disproportionnée la procédure d'assistance administrative. Il faut ainsi tendre à un équilibre entre, d'une part, la participation de tiers à une telle procédure et, d'autre part, le respect de la diligence qu'exige cette matière. En effet, imposer à l'Administration fédérale une obligation trop large d'informer aurait indubitablement pour effet de retarder, si ce n'est de paralyser les procédures d'assistance administrative, de manière contraire aux engagements de la Suisse.
7.3.2. Limiter le devoir d'informer de l'Administration fédérale aux seules personnes dont la qualité pour recourir est évidente est aussi dans l'intérêt de la personne visée par la demande, dont on peut imaginer qu'elle ne souhaite pas que son identité et que l'existence de la procédure ouverte à son sujet soient portées à la connaissance de toutes les personnes qui pourraient avoir qualité pour recourir au sens de l'art. 19 al. 2 LAAF. A cela s'ajoute que les tiers dont les noms apparaissent et qui pourraient avoir qualité pour recourir sont souvent domiciliés à l'étranger, de sorte que l'Administration fédérale devrait les informer par la notification directe au sens de l'art. 14 al. 4 LAAF ou, subsidiairement, opter pour une publication dans la Feuille fédérale ou pour une information par l'intermédiaire de l'autorité requérante (cf. art. 14 al. 5 LAAF; sur ces différents modes d'information, cf. <ref-ruling> consid. 7.2 à 7.2.2 p. 127 s.). Or, les modes d'information impliquant l'Etat requérant ne sont souvent pas non plus dans l'intérêt des personnes concernées (<ref-ruling> consid. 7.2.2 p. 128).
7.3.3. Enfin, il n'est certes pas exclu que des personnes dont la qualité pour recourir ne ressort pas de manière évidente du dossier s'annoncent auprès de l'Administration fédérale pour demander le caviardage de renseignements les concernant (cf. ATF <ref-ruling> pour un exemple concernant des employés de la banque détentrice des renseignements). Dans sa pratique, l'Administration fédérale admet la qualité de partie de telles personnes. Cette pratique, qui permet de garantir à celles-ci leur droit à l'autodétermination informationnelle découlant des art. 8 CEDH et 13 Cst. (cf. supra consid. 7.2), doit être approuvée. Elle permet ainsi à des tiers de faire valoir d'éventuelles prétentions, par exemple demander que leur nom soit caviardé (arrêt 2C_545/2019 du 13 juillet 2020 consid. 4.6). Il faut toutefois rappeler que ces personnes peuvent également faire valoir leur droit à l'autodétermination informationnelle dans le cadre d'une procédure fondée sur la protection des données (art. 6 de la loi fédérale sur la protection des données, RS 235.1; cf. arrêts 4A_144/2018 du 21 janvier 2019; 4A_390/2017 du 23 novembre 2017), si la transmission intervient de manière contraire au droit, ou sans base légale, et ce indépendamment de la question de savoir si ces données peuvent être utilisées contre eux à des fins fiscales (cf. arrêt précité de la CourEDH M.N. et autres c. Saint-Marin du 7 juillet 2015, affaire 28005/12, par. 78 ss). Par conséquent, même si ces personnes n'ont pas pu participer à la procédure d'assistance administrative, leur droit découlant des art. 8 CEDH et 13 Cst. sont sauvegardés (cf. consid. 7.2). En outre, après la transmission des renseignements les concernant, elles peuvent encore se défendre dans la mesure où, d'une part, elles peuvent demander à l'État requis (en l'occurrence la Suisse) qu'aucun consentement ultérieur ne soit donné à l'utilisation des renseignements en dehors de la CDI en dérogation au principe de la spécialité (cf. supra consid. 7.1.3); d'autre part, elles peuvent aussi faire valoir dans l'État requérant le respect du principe de spécialité et s'opposer à ce que les renseignements transmis soient utilisés contre elles, à moins qu'une procédure d'assistance administrative ne soit engagée à leur encontre.
7.4. Il ressort de ce qui précède que, selon l'art. 14 al. 2 LAAF, l'Administration fédérale ne doit informer une personne qui n'est pas visée par une demande d'assistance administrative que si la qualité pour recourir de cette personne au sens de l'art. 19 al. 2 LAAF ressort de manière évidente du dossier; le seul fait que le nom de cette personne apparaisse dans la documentation destinée à être transmise ne suffit pas à lui seul à justifier une telle information.
7.5. En l'espèce, la demande d'assistance administrative vise B._. L'autorité requérante cherche à obtenir les contrats que la société brésilienne B._ s/s Limitada, à laquelle B._ a cédé ses droits d'image, a conclus avec A._ SA. Parmi la documentation transmise par A._ SA à l'Administration fédérale figure le contrat relatif aux droits de B._, qui lie non seulement A._ SA et B._ s/s Limitada, mais également les Sociétés brésiliennes (supra consid. A). L'Administration fédérale entend communiquer les noms des Sociétés brésiliennes, qui figurent dans ledit contrat, à l'autorité requérante. Or, au vu des principes exposés ci-dessus, le seul fait que leurs noms apparaissent dans la documentation destinée à être transmise à l'autorité requérante ne leur confère pas de manière évidente la qualité pour recourir dans la procédure d'assistance administrative. Il faut en déduire qu'en l'occurrence, l'Administration fédérale n'avait pas à informer d'office les Sociétés brésiliennes de l'existence de la procédure ouverte contre B._ en vertu de l'art. 14 al. 2 LAAF. Elle n'a partant pas violé leur droit d'être entendues sous cet angle.
On ne voit au surplus pas quelle autre facette du droit d'être entendu des Sociétés brésiliennes l'Administration fédérale aurait violé, et ce d'autant moins que les Sociétés brésiliennes ne se sont pas manifestées auprès de l'Administration fédérale pour demander à participer à la procédure (cf. supra consid. 7.3.3).
7.6. Il découle de ce qui précède que c'est à tort que le Tribunal administratif fédéral a constaté la nullité de la décision finale du 30 octobre 2018 de l'Administration fédérale au motif que cette dernière aurait violé le droit d'être entendu des Sociétés brésiliennes en ne les informant pas de l'existence de la procédure d'assistance administrative.
On relèvera au surplus que la nullité absolue ne frappe que les décisions affectées des vices les plus graves, manifestes ou particulièrement reconnaissables, et pour autant que la constatation de la nullité ne mette pas sérieusement en danger la sécurité du droit (<ref-ruling> consid. 3.1 p. 503; <ref-ruling> consid. 3.1 p. 275; <ref-ruling> consid. 3.3 p. 434; 2C_203/2019 du 4 juillet 2019 consid. 3.1). En l'espèce, on peut se demander si, même à supposer qu'il y ait eu violation de l'art. 14 al. 2 LAAF, le prononcé de la nullité eût été justifié. En effet, déterminer qui a le droit d'être informé en vertu de cette disposition suppose en principe une part d'appréciation, de sorte qu'une erreur de l'autorité sur ce point ne relève en principe pas d'un vice à ce point grave qu'il justifie de prononcer, d'office, la nullité de la décision.
8.
Ce qui précède conduit à l'admission du recours de l'Administration fédérale et à l'annulation de l'arrêt attaqué.
Comme le Tribunal administratif fédéral a examiné d'office la cause sous l'angle d'une violation du droit d'être entendu, il ne s'est pas prononcé sur le recours de A._ SA, le déclarant irrecevable. La cause lui sera donc renvoyée pour qu'il le traite. Il incombera en premier lieu au Tribunal administratif fédéral, qui avait d'emblée admis la qualité pour recourir de A._ SA, alors que celui-ci n'est que détenteur de renseignements (supra consid. A), d'examiner si A._ SA avait un intérêt propre à recourir contre la décision finale du 30 octobre 2018 de l'Administration fédérale (cf. supra consid. 7.1.4 in fine), au regard du risque de violation du secret des affaires que cette société avait expressément invoqué.
L'intimée, qui n'a pas acquiescé au recours dans sa réponse, est réputée avoir succombé (cf. BERNARD CORBOZ, in Commentaire LTF, 2e éd. 2014, no 38 ad art. 66 LTF). Elle doit partant supporter les frais judiciaires (art. 66 al. 1 LTF). Il ne sera pas alloué de dépens (art. 68 al. 1 et 3 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis.
2.
L'arrêt du 8 avril 2019 du Tribunal administratif fédéral est annulé et la cause lui est renvoyée pour qu'il statue dans le sens des considérants.
3.
Les frais judiciaires, arrêtés à 5'000 fr., sont mis à la charge de l'intimée.
4.
Le présent arrêt est communiqué à l'Administration fédérale des controbutions, aux mandataires de l'intimée et au Tribunal administratif fédéral, Cour I.
Lausanne, le 13 juillet 2020
Au nom de la IIe Cour de droit public
du Tribunal fédéral suisse
Le Président : Seiler
La Greffière : Vuadens