<commit_before># TODO in mediasoup v2 (server-side)

* In `RtpStreamSend::RequestRtpRetransmission()` we may have to request a key frame (new listener needed for that) if we couldn't resend all the requested packets.

* In `RtpStreamSend::StorePacket()` we should remove old packets (as `NackGenerator` does).

* Remove `producer.on('rtprawpacket')` and, instead, create a special `RtpConsumer` or something like that.

* Set a proper value for Producer::FullFrameRequestBlockTimeout (currently 1 second).

* Should RtpStream::InitSeq() reset `received` to 0? We do it but it may break RTCP reports in both RtpStreamRecv and RtpStreamSend.
  - NOTE: We have removed `received = 0` from `InitSeq()`, so we still send RTCP SenderReports on paused Consumers.
  - Also check whether expectedPrior and receivedPrior should just belong to RtpStreamRecv rather than RtpStream (yes).

* Check `appData` everywhere.

* Remove DEPTH stuff.

* Redo the compile_commands_template.json.
  - NOTE: It's updated (manually). Should document in BUILDING.md how to automate it.

* Rethink the auto close of the worker `Transport` when receiving a DTLS CLOSE ALERT (or when it's just TCP and the connection fails...). Yes/no? BTW it's generating some issues because the JS closes the Producer/Transport and gets `request failed [id:84026423, reason:"Consumer/Transport does not exist"]` (because it was already closed due to DTLS ALERT).

* Move the RTCP timer from Peer to Transport.

* Implement `mandatoryCodecPayloadTypes`.

* JS: Remove tons of useless debugs (for example in `Peer._createProducer()`).

* Producer JS API to request fullframe.<commit_msg>TODO_V2: clean points that are already done<commit_after># TODO in mediasoup v2 (server-side)

* In `RtpStreamSend::RequestRtpRetransmission()` we may have to request a key frame (new listener needed for that) if we couldn't resend all the requested packets.

* In `RtpStreamSend::StorePacket()` we should remove old packets (as `NackGenerator` does).

* Remove `producer.on('rtprawpacket')` and, instead, create a special `RtpConsumer` or something like that.

* Set a proper value for Producer::FullFrameRequestBlockTimeout (currently 1 second).

* Check `appData` everywhere.

* Remove DEPTH stuff.

* Redo the compile_commands_template.json.
  - NOTE: It's updated (manually). Should document in BUILDING.md how to automate it.

* Rethink the auto close of the worker `Transport` when receiving a DTLS CLOSE ALERT (or when it's just TCP and the connection fails...). Yes/no? BTW it's generating some issues because the JS closes the Producer/Transport and gets `request failed [id:84026423, reason:"Consumer/Transport does not exist"]` (because it was already closed due to DTLS ALERT).

* Implement `mandatoryCodecPayloadTypes`.

* JS: Remove tons of useless debugs (for example in `Peer._createProducer()`).

* Producer JS API to request fullframe.
{'fraction_non_alphanumeric': 0.0846286701208981, 'fraction_numerical': 0.007944732297063902, 'mean_word_length': 4.934426229508197, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1135356', 'n_tokens_mistral': 853, 'n_tokens_neox': 816, 'n_words': 369}