transcoding: separate pause&stop on transcoder<->scheduler interface

Separate stop from pause, and use stop when a job is being cancelled.
This tells the transcoder to discard the job and all states for it.
Also send the original request to the transcoder start.

bug: 154734285
bug: 145233472
test: unit tests
Change-Id: I112c08b909f3432dfd4b4803c0786a1ea01deea6
diff --git a/services/mediatranscoding/SimulatedTranscoder.h b/services/mediatranscoding/SimulatedTranscoder.h
index 6e6da64..646ba4e 100644
--- a/services/mediatranscoding/SimulatedTranscoder.h
+++ b/services/mediatranscoding/SimulatedTranscoder.h
@@ -37,7 +37,7 @@
 class SimulatedTranscoder : public TranscoderInterface {
 public:
     struct Event {
-        enum Type { NoEvent, Start, Pause, Resume, Finished, Failed } type;
+        enum Type { NoEvent, Start, Pause, Resume, Stop, Finished, Failed } type;
         ClientIdType clientId;
         JobIdType jobId;
     };
@@ -48,9 +48,11 @@
 
     // TranscoderInterface
     void setCallback(const std::shared_ptr<TranscoderCallbackInterface>& cb) override;
-    void start(ClientIdType clientId, JobIdType jobId) override;
+    void start(ClientIdType clientId, JobIdType jobId,
+               const TranscodingRequestParcel& request) override;
     void pause(ClientIdType clientId, JobIdType jobId) override;
     void resume(ClientIdType clientId, JobIdType jobId) override;
+    void stop(ClientIdType clientId, JobIdType jobId) override;
     // ~TranscoderInterface
 
 private: